Design decision 0004 · accepted
The Mac uses your own Claude Code or Codex, headless
Triage runs as `claude -p /stash:triage` (or `codex exec` with the same skill) in your library folder with narrow permissions, so tips are written with your own subscription.
Context
Turning a post into a good tip needs a capable model. Shipping our own model access would mean a server, keys and costs.
Decision
The menu bar app runs Claude Code headless on your Mac with the Stash plugin’s triage skill, inside your library folder. The same skills work interactively, so /stash:add in a terminal does exactly what the app does.
Consequences
- No Stash backend; you control the model, account and spend (each run has a $1.50 cap).
- The headless run is sandboxed tightly (see 0103), because it reads untrusted posts.
- Codex can do the processing too (Settings → Process posts with). It runs
codex execin the workspace sandbox with no network and no user config, on the same triage skill rendered as a prompt. Afterwards the app puts back anything written outside Stash’s data. stash codex installadds Stash’s skills to Codex, and applied tips land in AGENTS.md and.agents/skills.