Claude Code CLI: Conversation Ops and Terminal Configuration Claude Code CLI v2.1.91 offers over 40 built-in slash-commands for session configuration, reflection, management, context control, conversation operations, and terminal customization. The commands enable developers to manage working directories, model selection, effort levels, cost tracking, session branching, context visualization, and terminal themes. Claude Code is the frontier agentic tool for coding. It autonomously creates structured plans with individual tasks to implement complex code changes. Under its hood, it parses user prompts, injects them into pre-configured system prompts, and issues and resolves tool usages to operate on a computers file system. This article continues the complete exploration of all Claude Code CLI commands. The particular focus are conversation ops, steering claude’s invocation in the current project, and permisions, fine-grained control how the claude code terminal can access your files. 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. 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 terminalDiagnostics & 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 companionPermissions /permissions : Fine-grained allow & deny tool permission rules /sandbox : Configure settings to secure Claude terminal access and program execution rightsExtensions /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 pluginsIntegrations /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 SDKGroups and commands marked with ✅ were covered in an earlier article, while those with 🌀 are the focus of this article. /rename Session persistence in Claude Code is implemented by writing JSONL files to specific folder in ~/.claude/projects . The assigned filename is a hash value, which makes it difficult to remember. With the /rename command, you can provide a meaningful name, which is reflected in the file structure too. /rename refactor-to-python ⎿ Session renamed to: refactor-to-python ────────────────────────────────────────────────── refactor-to-python ── ❯ ──────────────────────────────────────────────────────────────────────── The association between the custom-name and the session-hash is defined in a global session file. Take a look: .claude/sessions/1200.json:1:{"pid":1200,"sessionId":"3a0213a0-5ef4-420c-8d11-1bda03f41a1a","cwd":"/opt/claude","startedAt":1777104608328,"kind":"interactive","entrypoint":"cli","name":"refactor-to-python"} /init Every LLM invocation needs context to work on tasks. Claude Codes memory architecture put the canonical CLAUDE.md file as a permanent context into each session. This command reads the entire working directory, and creates this file as a summary of tis findings. When working on a coding project, it includes the tech stack, architecture, commands and more. /init ● Write CLAUDE.md ⎿ Wrote 78 lines to CLAUDE.md 1 CLAUDE.md 2 3 This file provides guidance to Claude Code claude.ai/code when working with code in this reposit ory. 4 5 Overview 6 7 skill-convert is a CLI tool that converts skills from Anthropic's skill.sh format to OpenClaw's cl awhub format. It handles both local filesystem conversions and remote GitHub repository sources. 8 9 Common Commands … +68 lines ctrl+o to expand ● Created CLAUDE.md at /opt/claude/universal-skill-converter/CLAUDE.md. It includes: - Commands: dev, build, test, typecheck, lint, format - Architecture: Directory tree with descriptions of each module - Conversion flow: 6-step process from validation to marker writing - Remote sources: How GitHub URLs are detected and handled - Error handling: Exit codes and global handlers - Dependencies: Key npm packages used /plan Project size, the number of files and total lines of code, influence how good specific changes are. Although the agentic loop in Claude Code evolves between releases, it is a good idea to plan complex changes a priori. This command creates a plan.md file, defining all steps, which then serves as a runbook during execution. Here is an example how a refactoring of my universal-skill-converter project from NodeJS to Python could be implemented. Upon starting, the CLI dialogue even renders questions back to the user. 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 have created a comprehensive refactoring plan. Let me confirm a few key design choices with you: ────────────────────────────────────────────────────────────────────── ────────────────────────────────────────────────────────────────────── ← ☒ CLI Framework ☐ Interface ☐ Coverage ☐ Async I/O ✔ Submit → Should I keep the same package structure and CLI command names? ❯ 1. Yes, identical Same commands and arguments for zero friction 2. Custom names Can use better Python naming conventions 3. Type something. ────────────────────────────────────────────────────────────────────── 4. Chat about this 5. Skip interview and plan immediately The generated plan file is stored at .claude/plans/ . Here is a summary description ... Here's the plan file for the Python refactoring: Plan Summary File: /home/node/.claude/plans/serene-waddling-newt.md Project: universal-skill-converter - Convert TypeScript CLI tool to Python Key Highlights: 1. Tech Stack: - CLI: Click user-selected - Validation: Pydantic - Formatting: Rich - Git: GitPython - Testing: pytest 2. Architecture: Modular layered design CLI → Core → Models → UI 3. File Structure: 20+ Python modules organized in: - src/cli.py - Entry point - src/core/ - 12 core library modules - src/models/ - Pydantic models - src/ui/ - Output, prompts, logging - tests/ - Comprehensive test suite 4. Migration Phases: - Phase 1: Project setup 30 min - Phase 2: Core library migration 4 hours - Phase 3: Main logic 1.5 hours - Phase 4: CLI layer 1.5 hours - Phase 5: Testing 3 hours - Phase 6: Configuration 1 hour Total: ~12 hours 5. Success Criteria: 70% test coverage, identical CLI interface, 100% test pass rate, type checking passes The plan is ready for execution. Would you like me to proceed with implementation? ... and a peek into the first source-code lines. Context Project : universal-skill-converter - CLI tool for converting Anthropic skill.sh format to OpenClaw clawhub format Current State : TypeScript/Node.js application with 1,460 lines of source code, comprehensive testing, and layered architecture Refactoring Goal : Port the entire application to Python while preserving: - All functionality local and remote conversion - Security features safe YAML parsing, path sanitization - Testing coverage 94 tests, 100% pass rate - Architecture patterns layered design, single responsibility Design Approach Architecture Pattern: Modular CLI Application Following a similar layered approach: - CLI Layer : Argument parsing and command orchestration - Core Library : Business logic modules - Validation Layer : Input validation using pydantic - UI Layer : Output formatting and user interaction - Tests : Comprehensive test suite with pytest Tech Stack Decisions Core Dependencies : - click : CLI framework similar to commander - User selected - pydantic : Data validation and schemas similar to Zod - yaml : YAML parsing with safe load - rich : Terminal formatting similar to picocolors + @clack/prompts - gitpython : GitHub operations and repository fetching - jinja2 : Optional - for template handling if needed ... Migration Steps Phase 1: Project Setup 1. Create Python project structure 2. Set up pyproject.toml 3. Install dependencies 4. Create basic project skeleton Phase 2: Core Library Migration 1. errors.py - Custom exception classes 2. path validator.py - Path validation 3. slug.py - Slug generation 4. yaml handler.py - YAML parsing/writing 5. filesystem.py - File system operations 6. validator.py - Input validation 7. transformer.py - Frontmatter transformation 8. migrator.py - File migration 9. metadata.py - Metadata generation 10. marker.py - Conversion tracking /simplify This command is more akin to a skill. It will launch subagents that check different aspects of the code, like duplication or efficiency, converge on all findings, and start implementing them right away. Here is an example run. I'll help you simplify the code. Let me first check for changes and then launch the three review agents. ... ● I'll launch three review agents to analyze the codebase for potential improvements across reuse, quality, and efficiency dimensions. Running 3 Explore agents… ctrl+o to expand ├─ Code reuse review · 1 tool use · 13.8k tokens │ ⎿ Read: src/ ├─ Code quality review · 3 tool uses · 14.6k tokens │ ⎿ Searching for 1 pattern, reading 2 files… └─ Efficiency review · 0 tool uses ⎿ Initializing… ctrl+b to run in background ... ● Now I'll aggregate the findings from all three agents and implement the fixes: ... ● Let me start by implementing the high-priority fixes: 1. First, let's create utility functions to reduce code duplication: ● Write src/lib/utils.ts ⎿ Wrote 76 lines to src/lib/utils.ts 1 import { promises as fs } from 'fs'; 2 import { fileExists, directoryExists } from './fs.js'; 3 4 // JSON file utilities 5 export async function readJsonFile