Claude Code Integration 🤖✨¶
Powerful session and conversation management for Claude Code.

The demo shows tofu claude — tclaude was originally part of GiGurra/tofu and has since been extracted into its own repo. The commands are the same.
Supported Platforms¶
| Platform | Status |
|---|---|
| macOS | ✅ Fully supported |
| Linux (native) | ✅ Fully supported |
| WSL (Windows Subsystem for Linux) | ⚠️ Partial* |
| Windows (native) | ❌ Not yet implemented |
* Clickable notifications only focus the correct window if the target Windows Terminal tab is already selected.
Features¶
- 📺 Session Management - Run Claude in tmux sessions, attach/detach anytime
- 🔮 Status Tracking - See when Claude is working, idle, or waiting for input
- 📊 Status Bar - Rich statusline with context usage, rate limits, git links
- 🔔 OS Notifications - Get notified when sessions need attention (opt-in)
- 🔍 Interactive Watch Modes - Browse sessions and conversations with search, filtering, sorting
- 🧠 Semantic Search - Find conversations by meaning using local embeddings (Ollama)
- ⚡ Session Indicators - Know which conversations have active sessions (⚡ attached, ○ active)
- ⚙️ Task Management - Run multiple tasks automatically
Installation¶
After installing tclaude, run the setup command:
# Install tclaude
go install github.com/tofutools/tclaude@latest
# Set up Claude integration (hooks, notifications, protocol handler)
tclaude setup
This will:
- Check that tmux is installed (required for session management)
- Install hooks in ~/.claude/settings.json for status tracking
- Install the status bar for Claude Code's statusline
- Check for notification tools (terminal-notifier on macOS, xdotool on Linux)
- Register the protocol handler for clickable notifications (WSL)
- Ask if you want to enable desktop notifications
Quick Start 🚀¶
# Start Claude in a new tmux session
tclaude session new
# Or resume an existing conversation
tclaude session new --resume <conv-id>
# Interactive session browser
tclaude session ls -w
# Interactive conversation browser
tclaude conv ls -w
Commands¶
| Command | Description |
|---|---|
session new |
Start Claude in a tmux session |
session ls |
List sessions (-w for interactive) |
session attach |
Attach to a session |
session kill |
Kill sessions |
web |
Serve a session via web terminal |
conv ls |
List conversations (-w for interactive, -g for global) |
conv search |
Search conversation text |
conv search-embeddings |
Semantic search by meaning (requires Ollama) |
conv index-embeddings |
Build/update semantic search index |
conv resume |
Resume a conversation |
conv delete |
Delete a conversation |
conv prune-empty |
Delete empty conversations |
Interactive Watch Mode Keys ⌨️¶
Both session ls -w and conv ls -w support these keys:
| Key | Action |
|---|---|
/ |
Start text search |
s |
Start semantic search |
↑/↓ or j/k |
Navigate |
Enter |
Attach/create session |
Del/x |
Delete/kill (with confirmation) |
h or ? |
Show help |
Esc |
Clear search / quit |
q |
Quit |
Session watch also supports:
| Key | Action |
|---|---|
f |
Filter menu (by status) |
1-5 |
Sort by column |
Documentation¶
- Session Management - Detailed session commands
- Conversation Management - Detailed conversation commands
- Git Worktrees - Parallel development with multiple branches
- OS Notifications - Get notified when sessions need attention
- Status Bar - Rich status bar for Claude Code's statusline
- Web Terminal - Access sessions from your phone or browser
- Semantic Search - Search conversations by meaning
- Git Sync - Sync conversations across devices (experimental — may eat your data)
- Task Management - Run multiple tasks automatically
Recording a Demo¶
The demo.tape file is a VHS script: