npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@ccdevkit/ccyolo

v0.25.2

Published

Run Claude Code in a Docker container with YOLO mode enabled

Downloads

1,785

Readme

[!CAUTION] ccyolo is a safety net, not a sandbox. It protects against overzealous agents doing stupid things, but it won't contain a fully compromised, malicious agent. Only use with repositories you trust.

Install

npm install -g @ccdevkit/ccyolo

Usage

Use it exactly like claude:

ccyolo                    # Interactive mode
ccyolo -p "hello"         # One-shot prompt
ccyolo -c                 # Continue previous session
ccyolo -r                 # Resume session picker

All claude flags work as expected.

Why

  • Works out of the box - no container setup required
  • Full CLI parity with claude
  • Runs with auto-accept enabled (YOLO mode)
  • Your working directory is mounted into the container
  • Your Claude credentials are passed through automatically

ccyolo flags

ccyolo flags go before --, claude flags go after:

ccyolo [ccyolo-flags] -- [claude-args]
ccyolo [claude-args]

ccyolo -v -- -p "hello"              # Verbose mode
ccyolo --log /tmp/debug.log -- -c    # Log to file
ccyolo -pt:git -- -p "git status"    # Run git on host instead of container
ccyolo --use 2.1.16 --               # Use specific Claude Code version

| Flag | Description | | ------------------------------------- | ------------------------------------------------- | | -v, --verbose | Enable debug logging to stderr | | --log <path> | Write debug logs to file (implies -v) | | -c, --claudePath <path> | Path to claude CLI (default: claude in PATH) | | --use <version> | Use specific Claude Code version (e.g., 2.1.16) | | -pt:<cmd>, --passthrough:<cmd> | Run commands matching prefix on host (repeatable) | | --version | Print ccyolo version |

Passthrough

By default, all commands run inside the container. This is usually fine, but some commands need to run on your host machine - things like docker, gh, or commands that need access to host resources.

Use -pt: to specify command prefixes that should run on the host:

ccyolo -pt:git -pt:docker -- -p "build and push the image"

This runs git and docker commands on your host, while everything else runs in the container. You can specify -pt: multiple times.

Clipboard & Drag-Drop

ccyolo supports pasting images from your clipboard (Ctrl+V / Cmd+V) and dragging files into the terminal, just like the native claude CLI.

How it works

When you paste or drag a file, ccyolo intercepts the input, copies the file into the container via a shared bridge directory, and rewrites the path so Claude sees it correctly.

Platform support

| Platform | Clipboard (Ctrl+V) | File drag-drop | |----------|-------------------|----------------| | macOS (Intel & Apple Silicon) | ✅ | ✅ | | Linux x64 | ✅ | ✅ | | Windows x64 | ✅ | ✅ | | Linux ARM64 | ❌ | ✅ | | Windows ARM64 | ❌ | ✅ |

Why no clipboard on ARM64? Clipboard image support requires native system APIs (NSPasteboard, Win32, X11) which need CGO compilation. GitHub Actions doesn't provide native ARM64 runners for Linux or Windows, so those builds are cross-compiled without CGO. File drag-drop still works because it only requires path rewriting, not system clipboard access.

If you need clipboard support on ARM64, you can build from source on a native ARM64 machine with CGO enabled.

Settings

ccyolo can be configured using a settings file in your project or home directory. Settings files are discovered by walking up from your current directory to root.

Settings file location

Create a settings file at .ccdevkit/ccyolo/settings.json (or .yaml/.yml) in your project directory or home directory:

your-project/
  .ccdevkit/
    ccyolo/
      settings.json    # Project-specific settings

Or in your home directory for global settings:

~/.ccdevkit/
  ccyolo/
    settings.json      # Global settings

Available settings

{
  "claudePath": "/path/to/claude",
  "passthrough": ["git", "docker", "gh"]
}

| Setting | Type | Description | |---------|------|-------------| | claudePath | string | Path to the claude CLI executable (default: claude in PATH) | | passthrough | array | List of command prefixes to run on the host instead of in the container |

Settings priority

Settings are merged with the following priority (highest to lowest):

  1. Command-line flags
  2. Project settings (.ccdevkit/ccyolo/settings.json in current directory or ancestors)
  3. Global settings (~/.ccdevkit/ccyolo/settings.json)
  4. Defaults

Example configurations

Minimal setup:

{
  "passthrough": ["git"]
}

Advanced setup:

{
  "claudePath": "/usr/local/bin/claude",
  "passthrough": ["git", "docker", "gh", "npm"]
}

YAML format:

claudePath: /usr/local/bin/claude
passthrough:
  - git
  - docker
  - gh

Requirements

  • Docker
  • claude must be authenticated on your machine