Claude Code features
Hooks
On every start, Jojo merges hook entries for ten Claude Code events (SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, PermissionRequest, Notification, Elicitation, Stop, StopFailure and SessionEnd) into ~/.claude/settings.json. Each runs jojod hook, which forwards the event to the daemon for the session named in the JOJO_SESSION_ID environment variable. Jojo sets that variable only in its own sessions, so Claude Code sessions started in other terminals are unaffected. To remove the hooks, run jojod uninstall-hooks.
Notifications and sound
When a session newly enters Needs you, Done or Error, Jojo shows a desktop notification, unless that session is the focused pane of the window you are using. A session gets at most one notification every 10 seconds. With Play a chime on, a chime also plays when a session finishes or needs a response. Both are switched in Settings.
Context meter and Compact conversation
Claude Code session rows show a small meter of how full the conversation's context window is. The meter uses the accent color, turns amber at 70% and red at 85%. Hovering it shows how full the window is and whether to run /compact. The window size (200,000 or 1,000,000 tokens) is inferred from the model name and token count, so the percentage is an estimate.
- In the sidebar, right-click the session's context meter or row.
- Choose Compact conversation. Jojo types
/compactand Enter into the session, as if you had typed them.
The item is grayed out while Claude is starting, working or waiting for your answer, because typed text would then land in the middle of a turn or answer the prompt on screen.
Session names
With Name sessions from Claude's first prompt on, a Claude session is named from the first prompt it received until you rename it.
Resume and Restart
- Resume appears on an exited session that recorded a Claude conversation. It starts
claude --resumewith that conversation in the same pane. - Restart appears on any exited session and starts the same program again in its place.
Restoring sessions
With Restore sessions after Windows or jojod restarts on (on macOS the label names macOS), sessions that were still running when the daemon stopped are brought back when it starts again. Sessions that crashed or that you ended are not.
- A Claude session continues its conversation with
claude --resume. - A shell restarts with the same program in the same folder. When Claude Code was running in that shell,
claude --resume <conversation>is typed into the new shell. - Restored sessions keep the names you gave them.