Skip to main content

Claude Code

A new Claude Code session in Saggar, running Fable 5.1 with high effort

Claude Code is the provider Saggar integrates most deeply. Its hooks report every event Saggar knows how to read, and its info view is the fullest.

Commandclaude
Installcurl -fsSL https://claude.ai/install.sh | bash
Hook configurationSaggar's local plugin, enabled in ~/.claude/settings.json
Skill location~/.claude/skills/saggar-cli/SKILL.md
Resumeclaude --resume <id>, or claude --continue without an id

Launching​

The launch menu offers Fable 5.1 and Opus 5.5. Sonnet 5 and Haiku 4.5 sit under More models on the provider card. Fable launches with the fable alias, so an older Claude Code opens the newest Fable it knows. The row is hidden only when claude auth status reports that you're signed out. Claude Code decides whether your account can use Fable when the session starts.

Every Claude model takes the same reasoning effort ladder: low, medium, high, xhigh, and max. Pick one for a session in the new-session sheet, or save it in a preset, and Saggar passes it as --effort. Leaving it unset keeps the model's own default. The provider card has no effort column for Claude, since there is nothing per model to set.

Saggar chooses the conversation's id before the process starts and passes it as --session-id, so restore never depends on a hook firing. When a session starts from a prompt, Saggar names it from that prompt with --name, and the name follows it into Claude's own UI. A first task is passed after --, and a preset's custom context as --append-system-prompt.

Claude Code is the only provider Saggar can start in agent team mode, which lets one lead spawn teammates in their own Saggar terminals. It is experimental on both sides, so it sits behind saggar agent --team. See Agents.

Comparing Claude models​

These are the top Claude models and efforts on Model index, ranked by their mean quality, cost, and time ranks across published coding benchmarks. Rank 1 is best. Select a column heading to sort it.

For the effort Saggar picks for each model and why, see Picking a model and effort.

Hooks​

Installing hooks writes Saggar's local Claude Code plugin and a status bridge into your settings file. The plugin is registered from a marketplace Saggar keeps under ~/.saggar/, so nothing is fetched from the network, and /plugin lists it as saggar-hooks@saggar. It is separate from the public saggar@saggar-skills plugin, which carries the saggar-cli skill and no hooks. Removing the hooks removes only Saggar's entries.

With hooks installed Saggar:

  • knows Claude is running by contract, not by reading the screen;
  • hears permission prompts directly and records a privacy-reduced pattern of the Bash command that needed approval;
  • hears MCP input requests as they open and follows auto-mode denials;
  • names the session from its first prompt;
  • records which files each prompt changed, for review;
  • follows subagents, agent-team tasks, compaction, and model switches;
  • shows failed tools on subagent cards;
  • shows live model, effort, context, and cost in the info view without replacing a status line you already have;
  • restores each session to its exact conversation.

Saggar refreshes its plugin each time it starts, so hook events your Claude Code has grown since you installed are added without installing again. If a settings file sets disableAllHooks, or a managed settings file allows only its own hooks, the card names the file rather than pretending the hooks work.

Version floors​

Claude Code added hook events over time. Saggar installs only the ones your version can run and says what an older build is missing.

CapabilityNeeds
Name a session from its first prompt1.0.54
Follow session starts1.0.62
Notice a clean exit1.0.85
Follow subagent starts2.0.43
Hear permission prompts without reading the screen2.0.45
Follow failed tools2.0.56
Follow agent-team task completion and idle teammates2.1.33
Confirm conversation compaction2.1.76
Hear MCP input requests as they open2.1.76
Follow failed turns2.1.78
Follow agent-team task creation2.1.84
Follow auto-mode denials2.1.89
Follow model changes2.1.251

Exact resume by id predates Claude Code's published history, so it is never gated.

Prompts and automatic approval​

Claude's permission and plan dialogs are recognized on screen as well as through the hook, so an unhooked session still turns Needs you when a dialog is waiting. Automatic approval answers the conservative "yes, this once", except for a read or edit dialog that offers "Yes, allow … during this session": it takes that choice, so a subagent reading file after file asks once per directory. Capability requests from Claude's own tools, such as a browser window, are recognized too.

With hooks, Saggar answers through Claude's PermissionRequest hook before the dialog draws. The hook answers only the tools whose whole request is text the deny-list can read: Bash, Edit, Write, and NotebookEdit. An MCP tool, a fetch, a subagent spawn, or a plan approval stays with you, as does anything asked in plan mode.

Intercept uses Claude's PreToolUse hook to check each Bash call before it runs, including ones Claude would run without asking. A command matching your safeguards is held for review, and the terminal shows Needs you.

The deny-list applies before any answer. See Agents for the full rule and what it refuses.

Resume​

With a recorded id, restore runs claude --resume <id>. Without one it runs claude --continue, which reopens the most recent conversation in that folder.

Further reading​

Saggar runs Claude Code as it is. For how to get the most out of the agent itself, Anthropic's own guidance is the reference: