Tools
pastepile_checkpoint
Update one durable memory without creating a duplicate, while preserving the previous content as a version-history checkpoint.
2 min read · Updated
Updates one existing memory and saves its previous title and content in Pastepile's version history first. The URL stays stable, search sees the current revision, and the history remains available from the paste page.
This is the zero-friction path for a conversation that keeps growing. Assistants are instructed to checkpoint after a debugging breakthrough, an architecture decision, a large code generation, a long research result, or before context compaction, without waiting for you to remember.
Parameters
| Parameter | Type | Description | |
|---|---|---|---|
slug | string | required | The existing paste slug (aB3xY9z) or full share URL to update. |
content | string | required | The complete current memory. The content being replaced becomes a history checkpoint. |
title | string | required | A short, stable title. Keeping it consistent gives deterministic search one strong signal across every checkpoint. |
language | string | optional | Syntax-highlighting language. Defaults to markdown, which fits conversation summaries, research, and decision records. |
edit_key | string | optional | The one-time key from pastepile_save. Only needed when the configured API key did not create this paste. If both credentials exist, this narrower per-paste key is used. |
Example
Checkpoint our incident investigation before the context window fills up.
{
"name": "pastepile_checkpoint",
"arguments": {
"slug": "aB3xY9z",
"title": "api incident 42",
"content": "## Current state\n\nRoot cause isolated...",
"language": "markdown"
}
}{
"checkpointed": true,
"slug": "aB3xY9z",
"url": "https://www.pastepile.com/p/aB3xY9z",
"previous_version": 4,
"credential": "api_key",
"note": "The current memory is updated. Its previous title and content were preserved as version 4..."
}Behavior notes
- With
PASTEPILE_API_KEYconfigured, noedit_keyis needed for a paste that the same key saved. This is what makes checkpoints work after the original conversation is gone. - The previous revision is inserted into the existing
paste_versionstimeline before the current revision changes. Concurrent checkpoints for one paste are serialized, so version numbers cannot collide. - A checkpoint is not marked destructive because it preserves the content it replaces. It is not idempotent: repeating the same call creates another history entry, so clients should not retry a lost response automatically.
- Reusing one slug avoids duplicate memories and keeps every checkpoint behind one stable URL.
Errors
| Error | Cause |
|---|---|
| No credential | Neither an API key nor an edit_key is available. The tool fails locally without making a request. |
not_found (404) | The paste is gone or was not created by this API key. Those cases answer identically so a key cannot probe which slugs exist. |
unauthorized (401) | The explicit edit_key or configured API key was rejected. |
sealed (403) | A time capsule cannot be changed before its unlock time. |
payload_too_large (413) | The replacement exceeds the update size limit. |
rate_limited (429) | The per-key request budget or per-paste update budget is exhausted. |
Checkpoint only plaintext AI memory. End-to-end encrypted pastes stay outside automated update paths because the server and MCP tool never receive their decryption key.
Related documentation
pastepile_saveSave text, code, or notes to Pastepile and get back a stable URL that can become a versioned, updatable memory across sessions.pastepile_getRetrieve a paste by slug or full URL and reload previously saved knowledge into the model's context.Private memoryHow an API key gives your assistant a private, isolated memory namespace on Pastepile, and how scopes decide what search and list can see.pastepile_forgetPermanently delete a paste. The API key that saved it is enough, so an assistant can undo a save long after the one-time edit key is gone.