Skip to main content

Fast Rust CLI for running Claude Code and Codex in YOLO mode

Project description

clud

hero-clud

A fast Rust CLI for Claude Code and Codex that runs in YOLO mode by default — no permission prompts, maximum velocity.

The name clud is simply a shorter, easier-to-type version of claude.

Platform Build Lint Unit Test Integration Test
Linux x86 Build Lint Unit Test Integration Test
Linux ARM Build Lint Unit Test Integration Test
Windows x86 Build Lint Unit Test Integration Test
Windows ARM Build Lint Unit Test Integration Test
macOS x86 Build Lint Unit Test Integration Test
macOS ARM Build Lint Unit Test Integration Test

Installation

pip install clud

Usage

clud                              # Launch Claude in YOLO mode via subprocess
clud --codex                      # Use Codex as the backend
clud --claude                     # Use Claude as the backend (default)
clud --pty                        # Force PTY launch mode
clud --subprocess                 # Force subprocess launch mode
clud --detach -p "review this PR" # Start a daemon-managed session without attaching
clud --detachable -p "fix CI"     # Ctrl+C asks whether to keep the session in background
clud -c                           # Continue the most recent conversation
clud --resume                     # Resume a session
clud --resume abc123              # Resume a specific session by ID or search term
clud -p "refactor the auth layer" # Run with a prompt, exit when done
clud -m "what does this do?"      # Send a one-off message
clud --model opus -p "review PR"  # Choose a model
clud --safe -p "drop the table"   # Disable YOLO mode (keeps permission prompts)
clud --dry-run -p "hello"         # Print what would run without executing
echo "explain this error" | clud  # Pipe mode: read prompt from stdin
clud -- --verbose --debug         # Pass extra flags through to the backend
clud attach                       # List background sessions you can reattach to
clud attach sess-123              # Attach to a specific session
clud list                         # Show background session IDs, PIDs, and cwd
clud wasm guest.wasm              # Run a local wasm module with clud's embedded runtime

Flags

Flag Description
-p, --prompt Run with a prompt, exit when complete
-m, --message Send a one-off message
-c, --continue Continue the most recent conversation
-r, --resume [TERM] Resume by session ID or search term
--claude Use Claude as the backend
--codex Use Codex as the backend
--subprocess Force subprocess launch mode
--pty Force PTY launch mode
--detach Start a daemon-managed session directly in the background
--detachable Run attached under the daemon; Ctrl+C prompts whether to background or end
--model <NAME> Set model preference (e.g., haiku, sonnet, opus)
--safe Disable YOLO mode (don't inject --dangerously-skip-permissions)
--dry-run Print what would be executed, then exit
-v, --verbose Show debug output
-h, --help Show help
-V, --version Show version

Unknown flags are forwarded directly to the backend agent.

clud now defaults to subprocess launch mode for Claude and Codex. Use --pty to opt back into PTY while Claude PTY issues are being investigated.

Detached Sessions

Use daemon-managed sessions when you want to disconnect and reattach later.

clud --detachable --codex -p "refactor the parser"
# press Ctrl+C, then press y within 5 seconds to keep it running in background

clud attach
clud attach sess-123
clud list

If you press Ctrl+C in a --detachable session, clud asks continue session in the background? with a 5-second countdown. Press y to background it. Press Ctrl+C again, press anything else, or do nothing to end the session instead.

clud attach without a session ID lists background sessions. clud list shows the same sessions with their root PID and current working directory.

Voice Mode

clud can capture microphone input and transcribe it into the active console prompt with whisper-rs.

# English-only small model
export CLUD_VOICE=1
export CLUD_WHISPER_MODEL=/path/to/ggml-small.en.bin

clud

On Windows PowerShell:

$env:CLUD_VOICE = "1"
$env:CLUD_WHISPER_MODEL = "C:\models\ggml-small.en.bin"

clud

Behavior:

  • Press F3 to start recording and play a short ding
  • Release F3 to stop recording and play a short dong
  • The transcript is inserted into the current prompt without auto-submitting it
  • If the terminal does not emit key-release events, pressing F3 again stops recording

Optional environment variables:

Variable Description
CLUD_VOICE Enable voice mode (1, true, yes, on)
CLUD_WHISPER_MODEL Path to a local whisper.cpp GGML model such as ggml-small.en.bin
CLUD_VOICE_LANGUAGE Force a Whisper language code such as en

clud loop — Autonomous Loop

Run the backend in a ralph loop: iterate on a task until the agent signals it's done, or until the iteration count runs out.

clud loop "Implement the API endpoints from the spec"
clud loop TASK.md                                  # Read prompt from a file
clud loop https://github.com/org/repo/issues/42    # Fetch & iterate on a GH issue
clud loop --loop-count 10 "fix bugs"               # Custom iteration count

Task input modes

The positional argument is classified in this order:

  1. GH issue / PR URL — the issue body is fetched via gh and cached to <git-root>/.clud/loop/<owner>__<repo>__issue-<n>.md. Subsequent runs reuse the cache; pass --refresh to force a re-fetch.
  2. Short form #42 — resolves owner/repo via gh repo view.
  3. Local file path — read as the prompt.
  4. Literal string — used as-is.

Completion signal (DONE / BLOCKED marker files)

clud loop injects a short contract into the prompt asking the agent to write one of two marker files under <git-root>/.clud/loop/:

Marker Meaning Exit code
DONE Task resolved (one-line summary inside) 0
BLOCKED Agent can't proceed (reason inside) 3
(neither) Iteration count exhausted 2
non-zero backend exit Infra failure propagate

Stale DONE / BLOCKED files from a prior run are cleared at start so the loop can't short-circuit on iteration 1.

Opt out with --no-done-marker to restore the old "run N times unless the backend fails" behavior.

clud rebase — Auto-Rebase

Fetches from origin, rebases the current branch, and resolves conflicts.

clud rebase

clud fix — Auto-Fix

Detects linting and test tools in your repo, runs them, and fixes failures in a loop until everything passes.

clud fix

clud up — Ship It

Runs lint, test, cleanup, then commits.

clud up

clud wasm — Embedded Runtime

Loads a local .wasm module, wires up a host logging import, and invokes an exported function.

clud wasm hello.wasm
clud wasm hello.wasm --invoke _start

Development

bash build                  # Build dev wheel (Rust binary + Python package)
bash lint                   # Lint (cargo fmt + clippy + ruff + banned imports)
bash test                   # Unit tests (Rust + Python)
bash test --integration     # Include integration tests with mock agents

License

BSD 3-Clause License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clud-2.0.7.tar.gz (90.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

clud-2.0.7-py3-none-win_arm64.whl (2.2 MB view details)

Uploaded Python 3Windows ARM64

clud-2.0.7-py3-none-win_amd64.whl (3.0 MB view details)

Uploaded Python 3Windows x86-64

clud-2.0.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

clud-2.0.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

clud-2.0.7-py3-none-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

clud-2.0.7-py3-none-macosx_10_12_x86_64.whl (1.8 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file clud-2.0.7.tar.gz.

File metadata

  • Download URL: clud-2.0.7.tar.gz
  • Upload date:
  • Size: 90.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.11

File hashes

Hashes for clud-2.0.7.tar.gz
Algorithm Hash digest
SHA256 9b0ed4941ae086d4c05b14b0adf45f553637dde1ba4aa2263c0e4535a0623257
MD5 5f331d51c76a729559a8624756daf931
BLAKE2b-256 61647f9f61fbd0987be77f702c5a45a6bb8d13526a0b6c2af5d0d4344f01e230

See more details on using hashes here.

File details

Details for the file clud-2.0.7-py3-none-win_arm64.whl.

File metadata

  • Download URL: clud-2.0.7-py3-none-win_arm64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.11

File hashes

Hashes for clud-2.0.7-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 1c114efc9ea975c1b512404c9f700697158d7bf99bbd48d8ef23685925fd5022
MD5 e9e2cb418b5b6898e6975bf3d71b15e3
BLAKE2b-256 eefadb6cb2799c83d188574174c1c134b5f78ed5c2cd8d246460b3abd1a8ec6f

See more details on using hashes here.

File details

Details for the file clud-2.0.7-py3-none-win_amd64.whl.

File metadata

  • Download URL: clud-2.0.7-py3-none-win_amd64.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.11

File hashes

Hashes for clud-2.0.7-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 601f011555f42a60f6afc92d46db411916fb3014816daf550885f03e04cc228c
MD5 733b360efe28f7b2dda89656a6881908
BLAKE2b-256 7253de4719fa243a606982e5e2d965a4ff1a2300bd5bec82bf65fc16284435cb

See more details on using hashes here.

File details

Details for the file clud-2.0.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for clud-2.0.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b7b7d39f7ee4ee07c060b45ce8f225c2250d11b824a0cba1ddccf039388cea21
MD5 6e7f50ce78d4f46a25b54566cc109de1
BLAKE2b-256 2f00e53de2243eb1867265f94dece5614df3b60c803c4a557756bdb553b03c4f

See more details on using hashes here.

File details

Details for the file clud-2.0.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for clud-2.0.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0737b52706a21fb77196bd672d10abac4b8bb575b5c2ad69e43e255b0b6afd43
MD5 25f71971d199346168ee7593c99dfa13
BLAKE2b-256 16040ae932fab8694a36362f4fa31f426033319be0c00c5a38917424fcb2b1bb

See more details on using hashes here.

File details

Details for the file clud-2.0.7-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for clud-2.0.7-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1a9294f23182a41494c2a40ff69a53087dc9578efe3bc32f06a5be9a0a09a324
MD5 ea0e3a1f19be2c927fd93033ef9f49c3
BLAKE2b-256 66430d4d3eda95615a4463d5d7d5ecddc247f1ad17be0e4818ecb78d5ed601df

See more details on using hashes here.

File details

Details for the file clud-2.0.7-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for clud-2.0.7-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7ca726e0908bf0995235c0e9dacba9362f16f4837b5eab96b2729aadcba7541c
MD5 2863804adecbb4d65e21a0da95d010b7
BLAKE2b-256 762389a14fc340176c57cb9dbbfa5e2c41266e2b4cd0859ceb519c2324a8b9e5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page