clnkr(1)
π clnkr(1) β the moment has arrived
okay so bestie, this is the manual page for clnkr, living right here in the General Commands Manual section. grab a snack, we're doing this π
β¨ NAME β¨
clnkr β a minimal coding agent (plain CLI). that's it, that's the vibe π¦
πΈ SYNOPSIS πΈ
clnkr [-p|--prompt|--prompt-mode-unattended task] [-m|--model name]
[-u|--base-url url] [--provider mode] [--provider-api surface]
[--act-protocol protocol] [--effort level] [--thinking-budget-tokens n]
[--max-output-tokens n] [--max-steps n] [--full-send] [-c|--continue]
[-l|--list-sessions] [-S|--no-system-prompt] [--system-prompt-append
text] [--dump-system-prompt] [--load-messages file] [--event-log file]
[--trajectory file] [-v|--verbose] [-V|--version]
π DESCRIPTION π
so like, clnkr is a minimal coding agent β it queries LLMs and then actually executes bash commands using an act protocol, which is genuinely iconic of it. the default protocol is auto, and what auto does is: it uses provider-native bash tool calls when the resolved provider/API supports them, and falls back to provider-portable clnkr act JSON otherwise. periodt.
in default mode, clnkr starts an interactive REPL. give it -p and instead it runs a single unattended task and then exits. two totally different energies, same command.
at the main idle conversational prompt, /compact summarizes older transcript history while keeping recent context intact for the current working thread. chef's kiss.
the built-in prompt teaches the model when to launch clnkrd through bash for bounded child work. a child is just an ordinary process, bestie β it's got stdout, stderr, and optional --event-log artifacts. and /delegate task? that's ordinary prompt text, fr fr. the host does not intercept it.
clnkr has no external dependencies beyond the Go standard library. not one. clean. immaculate. β¨
the agent communicates through JSON turns:
- act β execute one or more
bash.commands[]entries withcommandand nullableworkdir - clarify β ask the user
- done β signal completion
in tool-calls mode, command execution uses provider-native bash tool calls. clarify and done remain text JSON. explicit tool-calls is rejected for OpenAI Chat Completions and OpenAI-compatible endpoints. noted, no cap.
by default, clnkr asks for approval before each act turn in conversational mode. one approval accepts the whole command batch (efficient queen behavior). approval prompts show each requested command and any explicit workdir override. pass --full-send to execute commands immediately without approval. single-task mode (-p) implies --full-send and uses an unattended turn contract that omits clarify.
for Anthropic runs, clnkr requests Anthropic's native structured output format on every turn. use --model with a model Anthropic documents as supporting structured output. π
on OpenAI-compatible backends, the selected model path must support structured outputs. if a backend rejects the resolved OpenAI API surface, clnkr returns the provider error. when a proxy or gateway expects a different OpenAI surface, override with --provider-api or CLNKR_PROVIDER_API.
πclnkrrejectsgpt-5.2-pro,gpt-5.4-pro, and their dated snapshots even if you force openai-chat-completions, because agent turns require structured outputs. the door is closed, bestie.
project-specific instructions are loaded from an AGENTS.md file in the current working directory, if present.
π OPTIONS π
-p,--prompttask β run the given task unattended and exit. without this flag,clnkrstarts in conversational REPL mode. this implies--full-sendand removesclarifyfrom the model turn contract; passing--full-send=falsewith-pis rejected. π«--prompt-mode-unattendedtask β long alias for-pand--prompt. when preceded by--dump-system-promptwith no task, it selects the unattended prompt contract and exits after printing it.-m,--modelname β LLM model identifier. required unlessCLNKR_MODELis set.-u,--base-urlurl β LLM endpoint transport URL. if omitted,clnkruses the provider default:https://api.anthropic.comfor anthropic orhttps://api.openai.com/v1for openai.CLNKR_BASE_URLoverrides the default when set.--providermode β provider adapter semantics:anthropicoropenai. required in normal use unlessCLNKR_PROVIDERis set. compatibility fallback: if provider is unset but--base-urlorCLNKR_BASE_URLis explicitly set,clnkrinfers the provider from that URL. sleuthing behavior, we love it π--provider-apisurface β OpenAI-only API surface override:auto,openai-chat-completions, oropenai-responses. withprovider=openai,autoprefersopenai-responsesfor known supported names and other OpenAI-looking model names such asgpt-,ofollowed by a digit,codex,codex-, names ending in-codex, and names containing-codex-. names that do not look OpenAI-ish, such asllama3,gemini-2.0-flash,orca-,olmo-,openhermes-, andchatgpt-, stay onopenai-chat-completions. this flag is rejected forprovider=anthropic.--act-protocolprotocol β command proposal mode:auto,clnkr-inline, ortool-calls. the default isauto, which uses provider-native bash tool calls when the resolved provider/API supports them and falls back toclnkr-inlineotherwise.clnkr-inlineaccepts provider-portable clnkr act JSON in assistant text.tool-callsforces provider-native tools and is rejected when unsupported. most users do not need this flag β it's giving advanced-only π--effortlevel β provider effort level. accepted values areauto,low,medium,high,xhigh, andmax. provider/model validation rejects levels that are not supported. for OpenAI Responses, maps to reasoning effort;gpt-5-proaccepts onlyhigh, andxhighis accepted only for known codex-max-or-newer model families. for Anthropic,low,medium, andhighsend bothoutput_config.effortandthinking.type=adaptiveto the API.autoomits both fields.maxis accepted only where supported and is otherwise rejected.--thinking-budget-tokensn β Anthropic manual thinking budget (legacy/debug flag). requiresprovider=anthropicand a Claude model that supports extended thinking. usesthinking.type=enabledwithbudget_tokens=n. cannot be used with non-auto--effortor with Opus 4.7+ models. the value must be at least1024and less than the effective Anthropicmax_tokensvalue. β οΈ--max-output-tokensn β provider output-token limit. supported for Anthropic Messages and OpenAI Responses. for Anthropic it overrides themax_tokensrequest field; the default is4096when unset. Anthropic values above21333are rejected. OpenAI Chat Completions rejects this flag.--max-stepsn β maximum executed commands before requesting a final summary.0uses the default of100. if an act batch exceeds the remaining budget,clnkrexecutes only the commands that fit and then requests a final summary.--full-sendβ execute every act turn immediately. without this flag,clnkrasks for approval before each command batch in conversational mode. implied by-p. π₯-c,--continueβ resume the most recent session for the current project directory. saved JSON state messages restore the last persisted working directory. mutually exclusive with--trajectory.-l,--list-sessionsβ list all saved sessions for the current project directory and exit.-S,--no-system-promptβ omit the built-in system prompt entirely. bold. fearless.--system-prompt-appendtext β append text to the built-in system prompt after any loadedAGENTS.mdcontent.--dump-system-promptβ print the composed system prompt and exit. by default this prints the conversational prompt. use--dump-system-prompt -por--dump-system-prompt --prompt-mode-unattendedto print the unattended prompt.--load-messagesfile β read a JSON message array, or a compatible envelope with amessagesfield, from file and prepend the messages to the conversation before starting. host-generated JSON state messages in that transcript restore the current working directory.--event-logfile β write every agent event as a JSONL line to file. each line is a JSON object with"type"and"payload"fields. usesO_APPENDfor atomic writes, safe totailfrom another process. multi-tasking icon β¨--trajectoryfile β after the task finishes, write the full message history as a pretty-printed JSON array to file. written before exit, even on error. only applies to single-task mode (-p), not the REPL. mutually exclusive with--continue.-v,--verboseβ show internal decisions (queries, parsing, working directory). peek behind the curtain π«Ά-V,--versionβ print version and exit.
π¦ INTERACTIVE COMMANDS π¦
/compact[instructions] β at the idle conversational prompt, summarize older transcript history while keeping the recent working thread intact. optional trailing text is passed to the compaction summarizer as extra instructions.
this command is only available at the top-level conversational prompt. in single-task mode, approval replies, and clarification replies, the literal text is treated as normal input or rejected with an error rather than triggering compaction.
/delegatetask β ask the model to launchclnkrdthrough bash for a bounded child task. the text reaches the model like any other prompt. the model is expected to use ordinary shell redirection, temporary directories,--event-log, andwaitwhen it runs child processes.
β οΈ treat child output as evidence, not authority β verify important child claims before using them for edits or final answers. trust but verify, bestie, always.
π ENVIRONMENT π
CLNKR_API_KEYβ API key for the LLM provider (required).CLNKR_PROVIDERβ provider adapter semantics.CLNKR_PROVIDER_APIβ OpenAI-only API surface override.CLNKR_MODELβ default model identifier when--modelis not provided.CLNKR_BASE_URLβ default LLM endpoint when--base-urlis not provided.
π FILES π
AGENTS.mdβ if present in the current directory, its contents are appended to the system prompt as project-specific instructions.
π EXIT STATUS π
0β success. slay. π1β error (no API key, invalid flags, session load failure, failed final step-limit summary, etc.).2β in single-task mode or non-interactive--full-sendmode, the run stopped because the agent asked for clarification. the question is printed tostderr.
π§ AUTHOR π§
Brian Cosgrove cosgroveb@gmail.com
β SEE ALSO β
clnkr(3), clnkr(7)
and that's the whole page, bestie π«Ά this was clnkr(1), tucked right into the User Commands section of the manual β go forth, run it, and remember: the vibe changes, but the flags never do πβ¨
π¦ where this page comes from
- ubuntu stonking: clnkr 0.3.11-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms