Newer
Older
navi-1 / manuals / scratchpad.md

scratchpad

Working memory for the current session. Use this to save facts discovered mid-task (file paths, config values, error messages) so they are not lost across tool calls.

When to use

  • You found a file path during exploration and need to reference it later.
  • An error occurred and you want to record what was tried before attempting a fix.
  • You are in a multi-step task and need to remember the overall goal.
  • You want to collect findings before composing the final answer.

When NOT to use

  • Do NOT use for progress tracking — use todo for that.
  • Do NOT use for final answers — the final answer goes in the assistant message.

Parameters

Field Type Required Description
action string yes One of: write, append, read, clear
section string no Section name: goal, findings, artifacts, errors, main. Defaults to main on write/append.
content string no Required for write and append. The text to save.

Actions

write

Overwrite a section with new content.

{"action": "write", "section": "findings", "content": "The config file is at /etc/app/config.yml"}

append

Add text to the end of an existing section.

{"action": "append", "section": "findings", "content": "Port is 8080"}

read

Return the contents of one section, or all sections if section is omitted.

{"action": "read", "section": "findings"}

clear

Erase one section, or the entire scratchpad if section is omitted.

{"action": "clear", "section": "errors"}

Common mistakes

  1. Missing content on write/append — The call will fail. Always provide content.
  2. Putting text in section instead of contentsection is the category name (e.g. "findings"), content is the actual text.
  3. Using op instead of action — The parameter is called action, not op.
  4. Passing text as the action value{"action": "your text"} is wrong. Use {"action": "write", "content": "your text"}.

Full example workflow

# Step 1: Set the goal
{"action": "write", "section": "goal", "content": "Fix the database connection error"}

# Step 2: Record what you found
{"action": "write", "section": "findings", "content": "Error says 'connection refused on port 5432'"}

# Step 3: Add more info
{"action": "append", "section": "findings", "content": "PostgreSQL service is stopped"}

# Step 4: Check what you saved
{"action": "read"}

# Step 5: After fixing, clear errors
{"action": "clear", "section": "errors"}