Featured image of post Claude Code CLI: Session & Context Management

Claude Code CLI: Session & Context Management

Whenever the Claude Code CLI is invoked, a new session is created. On a high-level view, the user enters prompts, which are analyzed and processed to create internal tasks, such as checking/asking for permissions, suggesting and executing tools, and editing files. Each of these tasks is represented in the session history as a specific JSON document, with a unique type and attribute. Let’s investigate this in detail to learn about one part of Claude Code’s functionality.

Claude Code is an agentic tool that can execute commands on an installed computer. Its focus is coding, helping to implement programs from scratch, to add features, for bug fixing, and for refactoring of complex code bases.

In an ongoing blog series, I systematically explore the CLI, slash commands, and use cases. This article presents a grouped overview of all available commands, scoping the typical session lifecycle and helping you understand when to use which command.

The technical context of this article is claude_code v2.1.91, published on 2026-04-02. Examples and most CLI commands should work with newer versions too.

While I’m fascinated by the capabilities of artificial intelligence tools and applications, crafting blog articles remains my personal skill. Every character, number, and symbol in this article was typed manually, with the exception of verbose copies from log messages and screenshots.

Claude Code CLI: Slash Command Overview

Once a Claude Code session is started, more than 40 built-in slash-commands are available. They can be grouped into different categories that reflect the session lifecycle of its invocation, augmented by universal commands. Here is my proposed structure:

  • 🌀 Session Configuration

    • /add-dir: Add an additional working directory to the current session
    • /rename: Provide a meaningful name to the conversation, which reflects the variable name of the conversation file
    • /model: Determine the LLM model to be used
    • /effort: Configures the effort level of the model, adjusting its internal reasoning behavior
    • /login: Log in to the Anthropic subscription or Console
    • /logout: Log out of an Anthropic account
  • 🌀 Session Reflection

    • /cost: Shows the current session cost
    • /usage: Shows token consumption in the context of a subscription plan
    • /status: Shows essential CLI, model, and account information
    • /stats: Shows usage statistics and activity overview
    • /config: General purpose configuration
    • /update-config: Customizations of Claude Code internals
    • /export: Create a compact conversation summary
    • /insights: Generates a detailed report with meta information about the current session
  • Session Management

    • /batch: Execute a plan file as a parallel running sub-session
    • /btw: Process an additional instruction during a long-running main task
    • /loop: Run a specific prompt periodically
    • /tasks: List all background tasks
    • /fork: Define a staging point in the conversation history from which different branches can be invoked
    • /rewind: Roll back the conversation and optionally code base to an earlier state
    • /exit: Stop the terminal
    • /resume: Continue a session
  • Context Management

    • /clear: Reset the conversation history
    • /compact: Define a new conversation history entry, limiting the context that is sent to the LLM provider
    • /context: Visualize current context usage as a colored grid
    • /memory: Edit Claude memory files
  • Conversation Ops

    • /rename: Provide a meaningful name to the conversation
    • /init: Read the current project and generate a CLAUDE.md file
    • /plan: Toggle between editing and plan mode
    • /simplify: Review the changed code for efficiency
    • /review: Review a merge request and optionally check comments from an origin repo
    • /security-review: Invoke a special agent that checks the source code for security issues
    • /diff: View and commit staged file changes
    • /copy: Copy the last answer to the clipboard
    • /export: Create a compact conversation summary
  • Terminal Configuration

    • /theme: Configure the color theme
    • /color: Configure prompt bar color
    • /terminal-setup: Configure key bindings
    • /vim: Enable or disable VIM editor support when editing files via the CLI
    • /statusline: Set up a custom status line for the terminal
  • Diagnostics & User Support

    • /release-notes: Show the Claude Code release notes
    • /doctor: Check configuration status
    • /debug: Enable verbose debugging output and check for known issues
    • /feedback: Write feedback about your Claude Code experience
    • /help: Show general information about available slash commands
    • /powerup: Explore Claude Code feature with small lessons
    • /stickers: Order Claude Code stickers
    • /buddy: Hatch a Tamagotchi-like coding companion
  • Permissions

    • /permissions: Fine-grained allow & deny tool permission rules
    • /sandbox: Configure settings to secure Claude terminal access and program execution rights
  • Extensions

    • /hooks: View hook configurations for tool events
    • /skills: View installed skills
    • /agents: Create and manage agents
    • /mcp: Set up and manage MCP server definitions
    • /chrome: Start a local Chromium browser for browser interaction
    • /plugin: Browse and configure CLI extension
    • /reload-plugins: Reload all configured plugins
  • Integrations

    • /ide: Show IDE integrations for Claude, for example in Visual Studio Code
    • /install-github-app: Configure GitHub actions that interact with Claude
    • /install-slack-app: Configure Slack integration
    • /mobile: Show a QR code to download the iOS or Android app
    • /claude-api: Build native apps that integrate with Anthropic SDK

From this list, groups marked with 🌀 are the focus of this article.

What are Claude Code Sessions?

Whenever the Claude Code CLI is invoked, a new session is created. On a high-level view, the user enters prompts, which are analyzed and processed to create internal tasks, such as checking/asking for permissions, suggesting and executing tools, and editing files. Each of these tasks is represented in the session history as a specific JSON document, with a unique type and attribute. Let’s investigate this in detail to learn about one part of Claude Code’s functionality.

Here is an example of starting a new session in my universal-skill-converter project.

> claude

─── Claude Code v2.1.91 ────────────────────────────────────────────────╮
│                                       │ Tips for getting started      │
│            Welcome back!              │ Run /init to create a CLAUDE… │
│                                       │ ───────────────────────────── │
│               ▐▛███▜▌                 │ Recent activity               │
│              ▝▜█████▛▘                │ 1h ago   Parse @README.md     │
│                ▘▘ ▝▝                  │ 22h ago  Explain @Dockerfile  │
│                                       │ 22h ago  Explain the file @D… │
│  claude-haiku-4.5 · API Usage Billing │ /resume for more              │
│             /opt/claude               │                               │
╰───────────────────────────────────────────────────────────────────────╯
❯ Parse @README.md
  ⎿  Read README.md (4 lines)

● I'll parse the README.md file for you.
  Read 1 file (ctrl+o to expand)

● Based on the README.md file, here's what I found:
  README.md Analysis

  The README.md file contains minimal content:
  # universal-skill-converter

  Summary:
  - The file contains only a title: "universal-skill-converter"
  - There are no additional descriptions, instructions, or content
  - The file appears to be essentially empty except for the project title

  This suggests the project is either in early stages or the README hasn't been populated with detailed
  information yet.

Resume this session with:
claude --resume 67614647-7351-408e-88b8-2846dc62b860

See the output when quitting the session – this is the session name. Let’s take a look at where it is stored in your local ~/.claude directory.

Note: I’m using the claude-code-container from my previous article.

find "${HOME}/.claude" -type f -name *2846dc62b860* | head -5

# Log output
/home/node/.claude/projects/-opt-claude/67614647-7351-408e-88b8-2846dc62b860.jsonl

As can be seen, the complete session transcript is stored in the directory ~/.claude/projects/-opt-claude. The base name of this string is the current working directory, which defaults to /opt/claude when using my container image. This file is a JSON document containing all interactions. Let’s take a look at the first items:

cat /home/node/.claude/projects/-opt-claude/67614647-7351-408e-88b8-2846dc62b860.jsonl | jq | head -15

# Log messages
{
  "type": "permission-mode",
  "permissionMode": "default",
  "sessionId": "67614647-7351-408e-88b8-2846dc62b860"
}
{
  "type": "file-history-snapshot",
  "messageId": "1ce9315d-d77c-4f52-8e8a-bf22db5d9139",
  "snapshot": {
    "messageId": "1ce9315d-d77c-4f52-8e8a-bf22db5d9139",
    "trackedFileBackups": {},
    "timestamp": "2026-04-04T09:37:47.285Z"
  },
  "isSnapshotUpdate": false
}

Items have a type argument. The first messages in the session log represent system messages. Let’s see the other types, and narrow it down to the entered user message.

cat /home/node/.claude/projects/-opt-claude/67614647-7351-408e-88b8-2846dc62b860.jsonl | jq -r '.type' | sort

# Log output
permission-mode
file-history-snapshot
user
user
user
file-history-snapshot
user
assistant
assistant
user
assistant
last-prompt
permission-mode
custom-title
agent-name
system
system
custom-title
agent-name
permission-mode

Let’s see the user message for the first prompt. It contains a set of metadata about the session’s context (parentUuid, promptId, uuid), invocation and version information (version, entrypoint,cwd), and the message itself (message.role, message.content).

{
  "parentUuid": "8d64d2af-615d-4cfe-8843-273de873d9da",
  "isSidechain": false,
  "promptId": "97fe3efe-e395-41b9-96aa-34497e529ca4",
  "type": "user",
  "message": {
    "role": "user",
    "content": "Parse @README.md"
  },
  "uuid": "cfab7717-ca08-45bf-9e0f-2241668efe23",
  "timestamp": "2026-04-04T09:38:00.929Z",
  "permissionMode": "default",
  "userType": "external",
  "entrypoint": "cli",
  "cwd": "/opt/claude",
  "sessionId": "67614647-7351-408e-88b8-2846dc62b860",
  "version": "2.1.91",
  "gitBranch": "main"
}

The directly following system message contains the same context, invocation, and version information, but a structurally different message with message.type, message.role, message.model, and usage statistics.

{
  "parentUuid": "cfab7717-ca08-45bf-9e0f-2241668efe23",
  "isSidechain": false,
  "message": {
    "id": "msg_2026040417373648e22180f7914ce1",
    "type": "message",
    "role": "assistant",
    "model": "claude-sonnet-4.6",
    "content": [
      {
        "type": "text",
        "text": "I'll parse the README.md file for you.\n"
      }
    ],
    "stop_reason": null,
    "stop_sequence": null,
    "usage": {
      "input_tokens": 0,
      "output_tokens": 0
    }
  },
  "type": "assistant",
  "uuid": "9b4b857e-3a25-4b03-b20b-da76f5677c77",
  "timestamp": "2026-04-04T09:38:09.698Z",
  "userType": "external",
  "entrypoint": "cli",
  "cwd": "/opt/claude",
  "sessionId": "67614647-7351-408e-88b8-2846dc62b860",
  "version": "2.1.91",
  "gitBranch": "main",
  "slug": "hashed-enchanting-ritchie"
}

And finally, the directly following tool invocation. It reveals the fields message.content.type, message.content.name, message.content.input.file_path. And at message.usage, statistics about the LLM invocation, which parsed the file content and formulated an answer, can be found.

{
  "parentUuid": "9b4b857e-3a25-4b03-b20b-da76f5677c77",
  "isSidechain": false,
  "message": {
    "id": "msg_2026040417373648e22180f7914ce1",
    "type": "message",
    "role": "assistant",
    "model": "claude-sonnet-4.6",
    "content": [
      {
        "type": "tool_use",
        "id": "call_enqown30a3q",
        "name": "Read",
        "input": {
          "file_path": "/opt/claude/README.md"
        }
      }
    ],
    "stop_reason": "tool_use",
    "stop_sequence": null,
    "usage": {
      "input_tokens": 34459,
      "cache_creation_input_tokens": 0,
      "cache_read_input_tokens": 838,
      "output_tokens": 53,
      "server_tool_use": {
        "web_search_requests": 0,
        "web_fetch_requests": 0
      },
      "service_tier": "standard",
      "cache_creation": {
        "ephemeral_1h_input_tokens": 0,
        "ephemeral_5m_input_tokens": 0
      },
      "inference_geo": "",
      "iterations": [],
      "speed": "standard"
    }
  },
  "type": "assistant",
  "uuid": "2da6dc71-8c0c-486a-9593-b04e0674a795",
  "timestamp": "2026-04-04T09:38:09.698Z",
  "userType": "external",
  "entrypoint": "cli",
  "cwd": "/opt/claude",
  "sessionId": "67614647-7351-408e-88b8-2846dc62b860",
  "version": "2.1.91",
  "gitBranch": "main",
  "slug": "hashed-enchanting-ritchie"
}

These interaction types are at the heart of Claude’s agentic loop. Each prompt you provide gets analyzed, injected into pre-defined system prompts, sent to an LLM, which then provides assistant, tool-run, and tool-execution commands.

With this understanding, let’s continue with investigating the session commands.

Session Configuration

/add-dir

Once the Claude session starts, it is bound to the current working directory. This command adds additional directories, and Claude will access and utilize tools in the other directory too.

──────────────────────
❯ /add-dir /opt/spa
──────────────────────
  spac/     directory

...
Add directory to workspace

    /opt/spac

    Claude Code will be able to read files in this directory and make edits when
    auto-accept edits is on.

  ❯ 1. Yes, for this session
    2. Yes, and remember this directory
    3. No

/rename

Sessions are created with a generic name. This command provides a memorable name.

❯ /rename universal-skill-converter-refinement
  ⎿  Session renamed to: universal-skill-converter-refinement

─────────────────────────────── universal-skill-converter-refinement ──
─────────────────────────────────────────────────────────────────

/model

Model capacities drive the quality of work results. Anthropic distinguishes three different model levels that scale with code complexity: Opus, Sonnet, and Haiku.

The /model command allows manual selection, which you should use on a per-task level. Here is the dialog.

/model
────────────────────────
 Select model
  Switch between Claude models. Applies to this session and future Claude Code
   sessions. For other/previous model names, specify with --model.

  ❯ 1. Default (recommended)  Use the default model (currentlyclaude-sonnet-4.6) ·
                              $3/$15 per Mtok
    2. Sonnet (1M context)    Sonnet 4.6 for long sessions · $3/$15 per Mtok
    3. Opus (1M context)      Opus 4.6 with 1M context · Most capable for
                              complex work
    4. Haiku ✔                Haiku 4.5 · Fastest for quick answers · $1/$5 per
                              Mtok

/effort

When LLM models with thinking capabilities are invoked, they will work on a prompt self-reflectively, analyzing and checking their own output before formulating a response to the user. This amount of “thinking” can be controlled by the effort parameter with four values: max, high, medium, low. The default value in Claude is medium, recommended for balancing speed, cost, and task quality, which can be observed by fewer absolute tool calls than on other effort levels.

Here is an example of changing the parameter.

─────────────────────────────────────
❯ /effort  [low|medium|high|max|auto]
─────────────────────────────────────

/login

To use an Anthropic account as an LLM provider, either direct API invocation, called console account, or a subscription plan with rolling 5-hour/weekly/monthly token budgets, can be used.

The login command authenticates the current session with one of these options. Select one of the options, then an authorization request to Anthropic is shown. Open the link in your browser, then paste the auth code. Once completed, credentials are persisted in ~/.claude/settings.json, and do not need to be entered when starting the next session.

❯ /login
 Select login method:

 ❯ 1. Claude account with subscription · Pro, Max, Team, or Enterprise

   2. Anthropic Console account · API usage billing

   3. 3rd-party platform · Amazon Bedrock, Microsoft Foundry, or Vertex AI

/logout

When using an Anthropic subscription, session credentials are persisted in the ~/.claude/settings.json file. This command revokes the credentials at the Anthropic CLI, removes the credentials from the file, and terminates the session.

❯ /logout
Successfully logged out from your Anthropic account.

Session Reflection

/cost

During a long session, lots of tokens will be exchanged between your computer and an LLM provider. This command calculates the total amount of costs, but that’s opinionated toward using an API subscription model with Anthropic. For all other providers, you can add token costs in the manual model definition, and then get an estimate of the incurred costs.

/cost
  ⎿  Total cost:            $0.79
     Total duration (API):  1m 48s
     Total duration (wall): 6m 29s
     Total code changes:    151 lines added, 0 lines removed
     Usage by model:
             claude-haiku-4.5:  51.6k input, 3.1k output, 904.8k cache read, 0 cache
      write ($0.79)

/usage

When using Claude Code with an Anthropic subscription plan, this command shows how much of the rolling 5-hour and weekly usage limits is depleted.

This command was removed in v2.1.91, but for completeness, here is an example of its output.

/usage

Plan: Claude Max 5x (subscription)

Current 5-hour window
  Used:       18,400 tokens (23%)
  Remaining:  61,600 tokens (77%)
  Resets in:  2h 12m

Weekly usage
  All models:   38% used (resets Thu 04:00)
  Opus only:     4% used
  Sonnet only:   2% used

Rate limit status: OK (within all limits)
Extra usage:       Disabled

When you use a custom model definition, these models are mapped according to the environment variables "ANTHROPIC_DEFAULT_HAIKU_MODEL",  "ANTHROPIC_DEFAULT_SONNET_MODEL", and "ANTHROPIC_DEFAULT_OPUS_MODEL".

/status

Gain a quick overview about the CLI version, selected model, and other account information.

─────────────────────────────────────────────────────────────────
   Status   Config   Usage   Stats

Version: 2.1.91
  Session name: universal-skill-converter-refinement
  Session ID: 9bd58391-93ff-4c59-8d64-31d652281c14
  cwd: /opt/claude/universal-skills-converter/universal-skill-converter
  Auth token: ANTHROPIC_AUTH_TOKEN
  Anthropic base URL: https://api.z.ai/api/anthropic

  Model: claude-sonnet-4.6 (claude-sonnet-4.6)
  Setting sources: User settings, Enterprise managed settings (file)

  System Diagnostics
   ⚠ No write permissions for auto-updates (requires sudo)
``

Show essential CLI, model, and account information

And the config tab.

─────────────────────────────────────────────────────────────────
   Status   Config   Usage   Stats

  ╭─────────────────────────────────────────────────────────────────╮
  │ ⌕ Search settings…                                                                                                              │ 
  ╰─────────────────────────────────────────────────────────────────╯

    Auto-compact                              true
    Show tips                                 true
    Reduce motion                             false
    Thinking mode                             true
    Fast mode (Opus 4.6 only)                 false
    Rewind code (checkpoints)                 true
    Terminal progress bar                     true
    Show turn duration                        true
    Default permission mode                   Default
    Respect .gitignore in file picker         true
    Always copy full response (skip /copy     false
  picker)
    Auto-update channel                (CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAF
                                       FIC set)

    Theme                                     Dark mode
    Notifications                             Auto
    Language                                  Default (English)
    Editor mode                               normal
    Show PR status footer                     true
    Model                                     sonnet[1m]

/stats

Every interaction with Claude is logged inside the ./claude directory, with a path-prefix of the current working directory, and session files in JSONL format. These files contain timestamps, and can be used to create a visual representation of usage patterns.

Here are my current stats:

─────────────────────────────────────────────────────────────────
      Overview   Models

        Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr
        ···············································█▓·▒▒
    Mon ··················································▒
        ···················································
    Wed ················································░··
        ················································▒··
    Fri ················································█▓▓
        ··············································██░▓░

        Less ░ ▒ ▓ █ More

    All time · Last 7 days · Last 30 days

    Favorite model:claude-haiku-4.5     Total tokens: 4.7m

    Sessions: 52                    Longest session: 20h 28m 13s
    Active days: 15/30              Longest streak: 4 days
    Most active day: Mar 8          Current streak: 3 days

    Your longest session is ~6x longer than watching Titanic

And the models tab:

 ─────────────────────────────────────────────────────────────────
      Overview   Models


    Tokens per Day
      861k ┼──╮
      753k ┤  │
      646k ┤  ╰──╮
      538k ┤     │
      430k ┤     ╰──╮              ╭──╮     ╭──╮
      323k ┤     ╭──╮              │  │  ╭──╯  │
      215k ┤  ╭──╯  │              │  ╰──╯     │
      108k ┼──╯     │─────╮  ╭─────╮        ╭──│  ╭──
         0 ┼────────╰────────╯─────╰─────────────────
            Mar 7       Mar 18      Mar 28      Apr 4
    ●claude-haiku-4.5 · ●claude-sonnet-4.6 · ●claude-opus-4.6

    All time · Last 7 days · Last 30 days

    ●claude-haiku-4.5 (51.4%)                 ●claude-opus-4.6 (19.3%)
      In: 2.1m · Out: 350.9k                In: 720.4k · Out: 187.2k
    ●claude-sonnet-4.6 (29.3%)
      In: 1.3m · Out: 47.9k

/config

The many settings of Claude Code can be scattered along configuration files. This command allows a top-level overview about all defined settings for a particular session context. It also allows you to edit these settings, which will be persisted in the local .claude folder, the scope which overrides all other settings except managed ones.

As seen in other dialogues too, this one renders vertical tabs, starting with the “Config” section.

─────────────────────────────────────────────────────────────────
   Status   Config   Usage   Stats


  ╭─────────────────────────────────────────────────────────────────╮
  │ ⌕ Search settings…                                                                                                              │ 
  ╰─────────────────────────────────────────────────────────────────╯

    Auto-compact                              true
    Show tips                                 true
    Reduce motion                             false
    Thinking mode                             true
    Rewind code (checkpoints)                 true
    Verbose output                            false
    Terminal progress bar                     true
    Show turn duration                        true
    Default permission mode                   Default
    Respect .gitignore in file picker         true
    Always copy full response (skip /copy     false
  picker)
    Auto-update channel                       latest
    Theme                                     Dark mode
    Notifications                             Auto
    Output style                              default
    Language                                  Default (English)
    Editor mode                               normal
    Show PR status footer                     true
    Model                                     claude-haiku4.5
    Auto-connect to IDE (external terminal)   false
1 more below

  Type to filter · Enter/↓ to select · ↑ to tabs · Esc to clear

The remaining two tabs are just aliases for the /usage and /stats commands.

/update-config

This command triggers an internal skill in which you can instruct a cinfig change.

Here is an example output when modifying the thinking mode.

/update-config Configure the thinking mode.

∴ Thinking…

  The user wants to configure thinking mode. According to the update-config skill, thinking mode is configured using alwaysThinkingEnabled (a simple
  setting that can use the Config tool).

  Let me clarify what they want to configure since "thinking mode" could mean:

- Enable/disable thinking (alwaysThinkingEnabled: true or false)

─────────────────────────────────────────────────────────────────
 ☐ Thinking

Would you like to enable or disable thinking mode?

❯ 1. Enabled
     Always show thinking process (default for Haiku)
  2. Disabled
     Disable extended thinking
  3. Type something.
─────────────────────────────────────────────────────────────────
  4. Chat about this

Enter to select · ↑/↓ to navigate · Esc to cancel

/export

The complete conversation log is serialized into JSONL files. User prompts, and the LLMs answers, are rendered in plain text in the terminal. And this representation can be exported into the clipboard or a file.

Here is an example export during working on my skill-converter project.

╭─── Claude Code v2.1.91 ──────────────────────────────────────────────────────╮
│                                           │ Tips for getting started         │
│               Welcome back!               │ Run /init to create a CLAUDE.md… │
│                                           │ ──────────────────────────────── │
│                  ▐▛███▜▌                  │ Recent activity                  │
│                 ▝▜█████▛▘                 │ No recent activity               │
│                   ▘▘ ▝▝                   │                                  │
│                                           │                                  │
│     claude-haiku-4.5 · API Usage Billing  │                                  │
│   /opt/claude/universal-skill-converter   │                                  │
╰──────────────────────────────────────────────────────────────────────────────╯

❯ /rename refactor-to-python
  ⎿  Session renamed to: refactor-to-python

❯ Refactor this app to python. Write the plan file "refactor-to-python.md"

● I'll help you refactor this app to Python. Let me start by exploring the
  codebase to understand its structure and functionality.

● Explore(Explore main codebase structure)
  ⎿  Done (42 tool uses · 45.7k tokens · 5m 21s)
  (ctrl+o to expand)

  Searched for 3 patterns (ctrl+o to expand)

● Now I understand the codebase completely. Let me create a plan file for
  refactoring to Python.

● Updated plan
  ⎿  /plan to preview

● I've created a comprehensive refactoring plan. Let me confirm a few key design
   choices with you:

● User answered Claude's questions:
  ⎿  · Which Python CLI framework should I use? → Click
     · Should I keep the same package structure and CLI command names? → Yes,
     identical
     · What test coverage target should I aim for? → >70%
     · Should I use async/await for file operations? → Sync (blocking)

● Updated plan
  ⎿  /plan to preview
...

❯ /export
  ⎿  Conversation copied to clipboard

/insights

All Claude Code interactions are stored in the ~./claude directory, which includes projects, sessions, and all prompts. This command checks all this data to provide a thorough analysis of how you use Claude in the form of an HTML document. It includes a summary of the projects you worked on, your style of interacting with Claude, statistics about session time and duration, and several helpful prompt additions to be put into the CLAUDE.md file. Finally, usage patterns are condensed into skill and hook suggestions.

Here are screenshots of my interactions:

Conclusion

When the Claude Code CLI starts, a new session is created. Sessions are the core context of any interactions, and were covered extensively in this blog article. You gained a general overview about sessions, including the directory layout, JSONL files containing a trace of user, assistant, and tools calls, and the different types of entries in these files. These structures form the backbone commands about session configuration and session reflection. For session configuration, you learned about a) adding additional working directories, b) how to rename a session, c) selecting the LLM to be used in the current session, d) controlling the amount of tokens spent on “thinking”, d) how to perform login and e) logout of an Anthropic subscription. For session reflection, you saw how to a) estimate costs, b) track token consumption, c) see all applicable configuration items, d) see statistics about your Claude Code sessions, e) get an editable text-overview about all currently active settings, f) instruct a config change, g) export user prompts and LLM answers, and h) gain valuable insights and improvements to using Claude Code, including additional sections to be inserted into CLAUDE.md, as well as skills and hooks for frequent changes.