Obsidian Integration
Toto connects to the world model you build in Obsidian. Agents write plans, session logs, and documentation to your vault. Toto makes that work visible and actionable.
How It Works
Agents like Claude Code naturally produce documents as they work — architecture plans, debug logs, session summaries, design decisions. These documents live in your Obsidian vault as structured Markdown.
Toto sits on top of this. When an agent writes a plan to Obsidian, the corresponding task in Toto links directly to it. When you open a task card, the Obsidian icon takes you straight to the document. The board is the interaction layer; the vault is the world model.
Linking Tasks to Obsidian Documents
Any Toto task can link to one or more Obsidian documents via the metadata.obsidian field. The UI renders these as clickable Obsidian icon links on the task card.
curl -s -X POST "https://toto.up.railway.app/api/items/ITEM_ID/edit" \
-H "Authorization: Bearer toto_your_token" \
-H "Content-Type: application/json" \
-d '{"metadata": {"obsidian": "Toto/plans/My Plan"}}'
The value is a vault-relative path (no file extension needed). For multiple documents:
{"metadata": {"obsidian": ["Toto/plans/Plan A", "Toto/plans/Plan B"]}}
Agent Workflow
When Claude Code works on a feature, the typical flow is:
- Agent creates a plan document in Obsidian (e.g.
Toto/plans/Auth Refactor.md) - Agent creates tasks in Toto with
metadata.obsidianpointing to the plan - Agent works through the tasks, updating status as it goes
- You review the board — task cards show Obsidian links to the full context
- Reconciliation matches commits back to tasks automatically
The board gives you the overview. Obsidian gives you the depth. Neither replaces the other.
Vault Structure
Toto doesn't enforce a vault structure, but agents typically write to:
| Path | Content |
|---|---|
Toto/plans/ |
Architecture and implementation plans |
Toto/session logs/ |
End-of-session summaries |
Toto/reviewed/ |
Plans that have been reviewed and decided on |
Setup
No special configuration needed. Obsidian linking works out of the box — any task with metadata.obsidian set will render the link icon. Your vault just needs to be accessible on the same machine where you click the links (macOS/iOS with iCloud sync works well).
For agents to write to your vault, point them at the vault path. In Claude Code, this is typically configured in CLAUDE.md or the agent definition.