01
Local lifecycle and tool activity
Run goose and AgentPeek's local Open Plugin hooks put the session in the notch with its project, lifecycle state, prompts, tool calls, files, commands, and diffs. Goose exposes session start and end, turn stop, prompt, generic tool success and failure, plus specialized file and shell events. AgentPeek's managed generic tool events supply the file and command metrics while the lifecycle hooks keep the session current.
02
External approvals stay in Goose
Goose PreToolUse and Stop hooks can enforce an Open Plugin policy denial, but that path exposes neither a native approve or deny-with-reason channel nor a permission-wait event. External tool approvals stay entirely in Goose. AgentPeek does not claim to detect or answer them; Open Terminal remains available on the monitored session with ⌥ T.
03
Direct Chat through native Goose ACP
The session composer launches goose acp to load a resumable session, send a follow-up prompt, stream its reply, and cancel a prompt in flight. This ACP client owns the Direct Chat turn, so native ACP permission requests can be answered in the notch without pretending an external terminal hook is interactive.
04
Conversation history from Goose SQLite
AgentPeek reads Goose's local session database for ordered user and assistant conversation history. The current projection does not claim to reconstruct Goose's parent_session_id relationships as nested AgentPeek subagent cards.
05
Monthly tokens, daily history, and recorded cost
Goose's SQLite session and usage ledger records input, output, total, and cache tokens with the cost Goose recorded. AgentPeek rolls those local rows into calendar-month totals, daily token history, and recorded cost in the usage panel. Goose can label a cost as provider-reported or estimated, so AgentPeek does not call every stored value exact. Goose exposes no provider quota there, so AgentPeek shows no invented percentage or reset window.
06
Paths that follow Goose itself
Goose uses ~/.config/goose, ~/.local/share/goose, and ~/.local/state/goose for config, data, and state. AgentPeek also checks the equivalent tree under a valid absolute $GOOSE_PATH_ROOT, and the backwards-compatible macOS location under ~/Library/Application Support/Block/goose, including its session database, so existing desktop installs are not orphaned. Quick Routes opens the active Goose locations.