Floating terminal
When to use canvas Send vs the floating terminal. Two surfaces, two billing buckets.
Clearly has two ways to talk to Claude: the canvas Send button (for planning, brand decisions, content, approvals) and a floating terminal window that runs interactive Claude in xterm (for heavy code work). They draw from DIFFERENT billing buckets in your Anthropic account, and they're optimized for different kinds of tasks.
Two surfaces, two billing buckets
Anthropic separates Agent SDK usage (programmatic API calls) from interactive Claude Code usage (terminal CLI). Each has its own quota.
| Surface | When to use | Anthropic bucket |
|---|---|---|
| Canvas Send | Planning, brand work, content drafts, narration, single-turn questions, approval forms | Agent SDK credit pool ($20 Pro / $100 Max 5x / $200 Max 20x) |
| Floating terminal | Multi-step refactors, large file edits, codebases > 5 files, anything requiring git/test/build loops | Interactive subscription quota (separate, more generous) |
| Both at once | Plan in canvas → drop reference brief into terminal → terminal Claude does the long work → updates canvas blocks when done | Each pulls from its own bucket — no double-billing |
How Send routing works
When the floating terminal is open, the Send-to-Claude button automatically routes diffs INTO the terminal's stdin instead of firing agent:claude-prompt. The same Send action that would have gone to the Agent SDK now goes to interactive Claude Code. This switches you from the credit pool to the subscription quota for that turn.
Open the terminal (Cmd+`)
Drops a draggable, resizable window over the canvas. xterm session opens to ~/.clearly/compositions/
Compose your brief on the canvas
Drop references, notes, brand. Just like the canvas-as-prompt model — the only difference is Send target.
Hit Send
The diff payload goes into the terminal's stdin. Claude processes it as a normal interactive prompt. You see the response in the terminal in real time; status + result blocks land on the canvas as Claude calls beehaven via the Bash tool.
Iterate in either surface
Type in the terminal directly for fast follow-ups (saves Claude's context). Send from canvas again to add more references mid-stream.
The SKILL.md that loads in your terminal
Every floating terminal session auto-loads clearly-canvas/skills/SKILL.md from your ~/.claude/skills/. This teaches the terminal Claude how to drive the canvas back via beehaven CLI — drop status blocks, narration, build results, approval forms. The same protocol the canvas Send path uses, just invoked from interactive Claude instead of the SDK.
Process hygiene
Claude in the terminal can spawn background tasks (long-running dev servers, watch processes). The skill teaches Claude to track them in TodoWrite + kill at end of turn. If you see orphaned processes, pkill -f node (or whatever) cleans up. The daemon reaps subprocess trees on quit.