CLI Options
meka [OPTIONS] [PROMPT]
meka <COMMAND>
Commands
provider
Manage provider profiles (add, list, switch, login, remove). meka provider add writes a
[providers.<name>] profile to ~/.config/meka/config.toml and stores its secret in the database.
meka provider add work --type claude-oauth --model claude-opus-4-6
meka provider list
meka provider use work
meka provider login work
meka provider remove work
See the meka provider CLI reference for the full flag list.
session
Manage stored sessions: list them, export one as Markdown, or delete them.
meka session list [-n <LIMIT>] # default limit: 20
meka session export <SESSION_ID> [-o <PATH>] # -o - prints to stdout
meka session delete <SESSION_ID>...
meka session delete --all
See Sessions for details.
history
View or clear the REPL input history that powers Up-arrow / Ctrl+R recall (distinct from saved
sessions and from the /history slash command).
meka history list [-n <LIMIT>] # default 50; -n 0 shows all
meka history clear
Arguments
[PROMPT]
Run the agent’s first turn immediately with this text as the user message, then drop into the interactive REPL for follow-up. Pair with --oneshot to exit after the first turn instead of opening the REPL.
meka "list all files larger than 1MB in the current directory" # first turn, then REPL
meka --oneshot "list all files larger than 1MB" # first turn, then exit
When omitted, meka starts the REPL with no initial input.
Options
-c, --continue [SESSION_ID]
Resume a session. Without a session ID, resumes the most recently updated session. With a session ID, resumes that specific session. It accepts either the full UUID or any unique leading prefix (most-recent-first if the prefix matches more than one).
meka -c # resume last session
meka -c 550e8400-e29b-41d4-a716-446655440000 # full UUID
meka -c 550e # prefix; works if unique
Errors if the session does not exist, the prefix matches multiple sessions (with the matching IDs listed for disambiguation), or the session is locked by another meka instance.
--permission <MODE>
Set the initial permission mode. Accepts none (or n), read (or r), ask (or a), write (or w).
meka --permission write
meka --permission ask
Default: read.
--provider <NAME>
Select which configured provider profile to use for this run. Takes the name of a profile from
[providers.<name>], overriding default_provider in the config file.
meka --provider work
The value is a profile name (e.g. work, personal), not a backend type. List configured profiles with meka provider list.
-m, --model <MODEL>
Override the active profile’s model for this run.
meka -m gpt-4o-mini
--base-url <URL>
Override the active profile’s API base URL for this run.
meka --base-url http://localhost:11434/v1
--no-stream
Disable streaming mode. The agent waits for the complete response before displaying it. By default, responses are streamed token-by-token.
meka --no-stream
--render-mode <MODE>
Set the output render mode. Accepts syntect (default), termimad (or rich), or raw.
syntect: Syntax-highlighted markdown via thesyntectlibrary, including per-language code blocks.termimad: Full terminal formatting (box-drawn code blocks, reflowed paragraphs, formatted tables).raw: Raw markdown printed verbatim with aligned tables.
meka --render-mode raw
Can also be set permanently via display.render_mode in the config file.
--thinking
Enable extended thinking (claude-api and claude-oauth providers).
meka --thinking
--thinking-budget <TOKENS>
Set the extended thinking token budget. Implies --thinking.
meka --thinking-budget 20000
--instructions <STRING>
Override prompt.instructions for this run, replacing whatever is in the config file. Also reads from MEKA_INSTRUCTIONS if the flag is not given.
meka --instructions "Be terse. No code fences in answers."
--skill <NAME>
Invoke a skill as the first turn. Mirrors the REPL slash command /skill <name> [extra...]. The positional [PROMPT] arg, if given, is prepended to the rendered skill body as additional context. Pair with --oneshot to exit after the turn instead of opening the REPL.
meka --skill download-videos "https://example.com/video" # first turn, then REPL
meka --skill download-videos --oneshot "https://example.com/video" # first turn, then exit
Errors out with a clean message if the skill name is unknown.
--oneshot
Exit after the first turn finishes. Requires either the positional [PROMPT] or --skill <NAME>; without one of those, meka has nothing to do. Useful for scripts and CI invocations.
meka --oneshot "summarize the last commit"
meka --oneshot --skill deploy "to staging"
--eager-load-tool <SERVER:TOOL>
Eager-load a specific MCP tool for this session, bypassing the load_tool round-trip. The tool’s schema ships in the cacheable tools-array prefix from turn 1 instead of being deferred. Mirrors the per-server eager_load_tools config field: repeatable, raw tool names (the server-advertised form, not mcp__<server>__<tool>).
Particularly useful for scripted runs that know up front which tools they’ll need. The flag appends to whatever eager_load_tools lists in config.toml for that server; it doesn’t replace existing entries. Unknown server names log a warning and are skipped.
meka --eager-load-tool notion:search --eager-load-tool github:create_issue \
--oneshot "search Notion for the deploy runbook and open a GitHub issue"
-v, --verbose
Increase log verbosity. Can be repeated up to three times.
meka -v # info
meka -vv # debug
meka -vvv # trace
--help
Print help information.
--version
Print version information.