Metadata-Version: 2.4
Name: claude-code-tools
Version: 1.16.0
Summary: Collection of tools for working with Claude Code
License-File: LICENSE
Requires-Python: >=3.11
Requires-Dist: claude-agent-sdk>=0.1.6
Requires-Dist: click>=8.0.0
Requires-Dist: commitizen>=4.8.3
Requires-Dist: discord-py>=2.4.0
Requires-Dist: fire>=0.5.0
Requires-Dist: mcp>=1.13.0
Requires-Dist: pytest>=9.0.1
Requires-Dist: pyyaml>=6.0
Requires-Dist: questionary>=2.0.0
Requires-Dist: rich>=13.0.0
Requires-Dist: tantivy>=0.22.0
Requires-Dist: tqdm>=4.67.1
Provides-Extra: dev
Requires-Dist: commitizen>=3.0.0; extra == 'dev'
Provides-Extra: gdocs
Requires-Dist: google-api-python-client>=2.0.0; extra == 'gdocs'
Requires-Dist: google-auth-oauthlib>=1.0.0; extra == 'gdocs'
Requires-Dist: pillow>=10.0.0; extra == 'gdocs'
Description-Content-Type: text/markdown

<div align="center">

<a href="https://pchalasani.github.io/claude-code-tools/">
<img src="assets/title-blade-runner-theme.png" alt="CLAUDE CODE TOOLS"
     width="500"/>
</a>

CLI tools, skills, agents, hooks, and plugins for enhancing productivity with Claude Code and other coding agents.

[![Documentation](https://img.shields.io/badge/%F0%9F%93%96-documentation-blue)](https://pchalasani.github.io/claude-code-tools/)
[![claude-code-tools on PyPI](https://img.shields.io/pypi/v/claude-code-tools?label=claude-code-tools&color=blue)](https://pypi.org/project/claude-code-tools/)
[![claude-code-tools installs/week](https://img.shields.io/pypi/dw/claude-code-tools?label=installs&color=2563eb)](https://pypistats.org/packages/claude-code-tools)
[![aichat-search](https://img.shields.io/crates/v/aichat-search?label=aichat-search&color=orange)](https://crates.io/crates/aichat-search)
[![Mentioned in Awesome Codex CLI](https://awesome.re/mentioned-badge.svg)](https://github.com/RoggeOhta/awesome-codex-cli)

</div>

## [Full Documentation](https://pchalasani.github.io/claude-code-tools/)

## Install

```bash
# Core package
uv tool install claude-code-tools

# With Google Docs/Sheets extras
uv tool install "claude-code-tools[gdocs]"

# Upgrade an existing installation
uv tool install --force claude-code-tools
```

The search engine (`aichat search`) requires a
separate Rust binary:

- **Homebrew** (macOS/Linux):
  `brew install pchalasani/tap/aichat-search`
- **Cargo**: `cargo install aichat-search`
- **Pre-built binary**:
  [Releases](https://github.com/pchalasani/claude-code-tools/releases)
  (look for `rust-v*`)

Install the Claude Code workflow plugin:

```bash
claude plugin marketplace add pchalasani/claude-code-tools
claude plugin install workflow@cctools-plugins
```

Install the equivalent dynamic workflow plugin for Codex:

```bash
codex plugin marketplace add pchalasani/claude-code-tools
codex plugin add dynamic-workflow@cctools-codex-plugins
```

The Codex plugin installs independently: it does not require the Python
`claude-code-tools` package or an npm install. Node.js 20 or newer and Codex
CLI 0.136.0 or newer are required for callbacks. Version 0.136.0 is the first
compatible CLI release for this callback protocol. Codex still marks the app
server and remote TUI interfaces as experimental, so those surfaces may evolve.
The plugin can notify the originating Codex thread through Codex's shared app
server after a detached workflow finishes. Callback preflight also rejects a
stale connected server.

The optional Python package makes that callback setup a single command:

```bash
codex-dynamic
# Or continue the latest conversation:
codex-dynamic resume --last
```

`codex-dynamic` starts or reuses the local app server and then hands the
terminal directly to Codex. Use `codex-server status` or `logs` for
nondisruptive inspection. A forced stop or restart disconnects every attached
TUI, so exit those sessions before running `codex-server stop --force` or
`codex-server restart --force` from an ordinary terminal.

The Python package also installs `codex-workflows`, an observational dashboard
for durable workflow runs:

```bash
codex-workflows
codex-workflows watch --limit 20
codex-workflows show RUN_ID
codex-workflows --all
```

The default list contains only active workflows. Use `--all` to include
completed and diagnostic history. The command reads durable workflow state and
process metadata. It never changes a run, sends a signal, repairs state, or
launches an agent. See the
[codex-workflows reference][codex-workflows-reference] for filters, JSON output,
and the complete versioned schema.

[codex-workflows-reference]:
  //pchalasani.github.io/claude-code-tools/tools/codex-dynamic/#observe-workflow-runs

Server management and passive supervision add no model calls. Completion
reporting starts a new turn only while the thread is idle; otherwise it steers
and extends the active turn. Either reporting path consumes model tokens.

Each workflow `run` or `resume` uses narrow host execution for that exact
reviewed supervisor command. The workflow JavaScript remains restricted, and
every headless Codex worker keeps its declared sandbox.

See the
[Claude → Codex migration guide][claude-to-codex-guide]
for usage and workflow-porting instructions.

[claude-to-codex-guide]:
  https://pchalasani.github.io/claude-code-tools/guides/claude-to-codex/

---

Click a card to jump to that feature, or
**[read the full docs](https://pchalasani.github.io/claude-code-tools/)**.

<div align="center">

<table>
<tr>
<td align="center">
<a href="https://pchalasani.github.io/claude-code-tools/getting-started/">
<img src="assets/card-quickstart.svg" alt="quick start" width="300"/>
</a>
</td>
<td align="center">
<a href="https://pchalasani.github.io/claude-code-tools/getting-started/plugins/">
<img src="assets/card-plugins.svg" alt="plugins" width="300"/>
</a>
</td>
</tr>
</table>

<table>
<tr>
<td align="center">
<a href="https://pchalasani.github.io/claude-code-tools/tools/aichat/">
<img src="assets/card-aichat.svg" alt="aichat" width="200"/>
</a>
</td>
<td align="center">
<a href="https://pchalasani.github.io/claude-code-tools/tools/tmux-cli/">
<img src="assets/card-tmux.svg" alt="tmux-cli" width="200"/>
</a>
</td>
<td align="center">
<a href="https://pchalasani.github.io/claude-code-tools/tools/agent-tunnel/">
<img src="assets/card-agent-tunnel.svg" alt="agent-tunnel" width="200"/>
</a>
</td>
</tr>
<tr>
<td align="center">
<a href="https://pchalasani.github.io/claude-code-tools/tools/lmsh/">
<img src="assets/card-lmsh.svg" alt="lmsh" width="200"/>
</a>
</td>
<td align="center">
<a href="https://pchalasani.github.io/claude-code-tools/tools/vault/">
<img src="assets/card-vault.svg" alt="vault" width="200"/>
</a>
</td>
<td align="center">
<a href="https://pchalasani.github.io/claude-code-tools/tools/env-safe/">
<img src="assets/card-env-safe.svg" alt="env-safe" width="200"/>
</a>
</td>
</tr>
<tr>
<td align="center">
<a href="https://pchalasani.github.io/claude-code-tools/plugins-detail/safety-hooks/">
<img src="assets/card-safety.svg" alt="safety" width="200"/>
</a>
</td>
<td align="center">
<a href="https://pchalasani.github.io/claude-code-tools/tools/statusline/">
<img src="assets/card-statusline.svg" alt="statusline" width="200"/>
</a>
</td>
<td align="center">
<a href="https://pchalasani.github.io/claude-code-tools/integrations/google-docs/">
<img src="assets/card-gdocs.svg" alt="gdocs" width="200"/>
</a>
</td>
</tr>
<tr>
<td align="center">
<a href="https://pchalasani.github.io/claude-code-tools/integrations/google-sheets/">
<img src="assets/card-gsheets.svg" alt="gsheets" width="200"/>
</a>
</td>
<td align="center">
<a href="https://pchalasani.github.io/claude-code-tools/integrations/alt-llm-providers/">
<img src="assets/card-alt.svg" alt="alt" width="200"/>
</a>
</td>
<td align="center">
<a href="https://pchalasani.github.io/claude-code-tools/plugins-detail/voice/">
<img src="assets/card-voice.svg" alt="voice" width="200"/>
</a>
</td>
</tr>
<tr>
<td align="center">
<a href="https://pchalasani.github.io/claude-code-tools/tools/fix-session/">
<img src="assets/card-session-repair.svg" alt="session repair" width="200"/>
</a>
</td>
<td align="center">
<a href="https://pchalasani.github.io/claude-code-tools/tools/sasy-guard/">
<img src="assets/card-sasy-guard.svg" alt="sasy-guard" width="200"/>
</a>
</td>
<td align="center">
<a href="https://pchalasani.github.io/claude-code-tools/guides/claude-to-codex/">
<img src="assets/card-claude-to-codex.svg" alt="Claude to Codex" width="200"/>
</a>
</td>
</tr>
</table>

<table>
<tr>
<td align="center">
<a href="https://pchalasani.github.io/claude-code-tools/development/">
<img src="assets/card-dev.svg" alt="development" width="300"/>
</a>
</td>
<td align="center">
<a href="LICENSE">
<img src="assets/card-license.svg" alt="license" width="300"/>
</a>
</td>
</tr>
</table>

</div>

---

> **Legacy links** — The sections below exist to
> preserve links shared in earlier discussions.
> For current documentation, visit the
> [full docs site](https://pchalasani.github.io/claude-code-tools/).

<a id="aichat-session-management"></a>
## aichat — Session Management
See [aichat](https://pchalasani.github.io/claude-code-tools/tools/aichat/) in the full documentation.

<a id="tmux-cli-terminal-automation"></a>
## tmux-cli — Terminal Automation
See [tmux-cli](https://pchalasani.github.io/claude-code-tools/tools/tmux-cli/) in the full documentation.

<a id="voice"></a>
## Voice Plugin
See [Voice](https://pchalasani.github.io/claude-code-tools/plugins-detail/voice/) in the full documentation.

<a id="license"></a>
## License

MIT
