Gemini CLI
- getHarness
- getHarness("gemini")
- binary
- gemini
- invoke modes
- 2 of 6 · official
- model listing
- no
- mcp config
- json · standard
- agents file
- ~/.gemini/GEMINI.md
Gemini CLI is the one harness with a %PROGRAMDATA% path, for the managed settings on Windows, and one of two with a verified native audio route: its read_file tool accepts audio files. Video is not documented and is recorded as false with the request that asked for it linked from the README.
Sessions are JSON under ~/.gemini/history/<project-id>/, where the id is a slug from projects.json rather than the path, so the note is there. Custom commands are TOML files. The global instructions file is ~/.gemini/GEMINI.md, and syncAgentsFiles links it like any other.
Capabilities and invocation
mcp: yesvision: yesaudio: yesvideo: notools: yesstreaming: yes
Binary gemini, evidence official. Non-interactive (headless) mode. Model selection appends --model {model}.
advisor
{}
advisor · json
{ structured: true }
read-only
{ readOnly: true }
read-only · json
{ readOnly: true, structured: true }
agent
{ tools: true }
-p {prompt}agent · json
{ tools: true, structured: true }
-p {prompt} --output-format jsonPaths
Templates as the registry stores them. ~, ${HOME} and %VAR% expand in resolve(); entries tagged with a platform are dropped on the others. Open in the explorer to see them expanded for a home directory of your choice.
config
~/.gemini/settings.jsonuser · official · all.gemini/settings.jsonproject · official · all/etc/gemini-cli/settings.jsonsystem · official · linux/Library/Application Support/GeminiCli/settings.jsonsystem · official · darwin%PROGRAMDATA%/gemini-cli/settings.jsonsystem · official · win32
sessions
~/.gemini/history/<project-id>/data · official · allConversation history per project (project-id is a slug from projects.json).~/.gemini/tmp/<project-id>/chats/data · official · allActive chat session data.
instructions
GEMINI.mdproject · official · all~/.gemini/GEMINI.mduser · official · allGlobal instruction/memory file.
skills
.gemini/skills/project · official · all.agents/skills/project · official · all~/.gemini/skills/user · official · all~/.agents/skills/user · official · all
commands
.gemini/commands/project · official · allCustom commands in TOML format.~/.gemini/commands/user · official · allGlobal custom commands in TOML format.
empty
hooks No known location. That is not the same as the feature being missing.
MCP servers
~/.gemini/settings.jsonuser · json · standard · mcpServers.gemini/settings.jsonproject · json · standard · mcpServersDetection
envVars
GEMINI_CLI
projectMarkers
.geminiGEMINI.md
Persistence
- JSON - Settings files. (official)
- JSON - Session and history records. (official)
syncAgentsFiles links ~/.gemini/GEMINI.md to the master bundle.
Codex CLI
OpenAI's CLI. codex exec with a native read-only sandbox, TOML config with comments preserved on edit, sessions as JSONL plus a SQLite state database.
Antigravity CLI
Google's second CLI, sharing ~/.gemini with Gemini CLI. Native audio and video attachments, conversations as Protocol Buffers, hooks in JSON.