Sessions

Sessions are the core of Recalletta. Every AI coding session (Claude Code, Gemini CLI, Codex CLI) is automatically captured, stored, and searchable. Most session commands are invoked by agents automatically; users typically browse sessions via the web dashboard at recalletta.ai.

For trust boundaries and what gets stored/uploaded, read Security and Privacy.

Search Sessions

$ recalletta [QUERY] [OPTIONS]

The default command. Agents (or users) pass a search query and get FTS5-ranked results:

$ recalletta "session hooks" -n 3
[bc2b1b13] 2025-12-09T16:14 Refactoring Recalletta Session Hooks (rank: -6.37)
[claude-b] 2025-12-09T16:07 Refactoring of Hook System to Support Both Cases (rank: -1.37)
[3dd17a7c] 2025-11-19T22:23 Recalletta Hook Configuration for macOS (rank: -1.37)

Filter by date with --when:

$ recalletta --when 7d -n 5
[82bbfb7c] 2026-02-09T07:35 Fix summon command to respect persona default client from KB
[6e4afe9c] 2026-02-09T06:58 Atlas Crew Assignment Briefing - Forge
[4ff40fa8] 2026-02-09T06:57 Forge Crew Assignment - Atlas Project Briefing
[e4c1c8a3] 2026-02-09T06:51 Atlas Crew: Inbox Command & Race Condition Fix
[fab80989] 2026-02-09T06:51 Crew Inbox Feature & Race Condition Fix

See the CLI Overview for the full --when syntax.

Load a Session

Pass a session ID (or 8+ character prefix):

$ recalletta 82bbfb7c

This prints the full session transcript — the entire human/AI conversation, including tool calls and their results.

Load the Most Recent Session

$ recalletta last

or

$ recalletta --last

Session Metadata

$ recalletta info <SESSION_ID>

Shows metadata for a session without printing the full body. Use --title for just the title line. Use -j for JSON output.

Flag Purpose
--title Show only the title
-j, --json Output as JSON

Delete a Session

$ recalletta delete <SESSION_ID> [-y]

Deletes a session. Pass -y to skip the confirmation prompt.

Upload Sessions

$ recalletta upload [SOURCE] [FILE]

Manually upload sessions from a specific provider or file.

Argument Purpose
claude Upload all unsaved Claude Code sessions
codex Upload all unsaved Codex sessions
gemini Upload all unsaved Gemini sessions
all Upload from all providers
<prefix> Upload a specific session by ID prefix (8+ hex chars)
<file> Upload a specific transcript file (markdown, JSON, JSONL, or XML)

Examples:

$ recalletta upload claude           # Upload all Claude sessions
$ recalletta upload all              # Upload from all providers
$ recalletta upload 82bbfb7c         # Upload specific session
$ recalletta upload claude file.jsonl # Upload a specific file as Claude source

Sessions are automatically uploaded on SessionEnd via hooks. Manual upload is for catch-up or debugging.

Tags

$ recalletta tags [QUERY]

List all tags, or search for specific tags:

$ recalletta tags
.net
.net-core
.net10
1c-export
...

Pass a comma-separated query to filter:

$ recalletta tags "auth,security"

Stats

$ recalletta stats
{
  "total_sessions": 1764,
  "total_tags": 2383,
  "oldest_session": "2025-10-14T08:38:24Z",
  "newest_session": "2026-02-09T07:35:39Z"
}

Shows total session count, tag count, and date range.