Local queue and auto-continue runner for Claude Code sessions and Codex App tasks.
Project description
Claude + Codex Queue
Queue prompts for existing Claude Code sessions and Codex App tasks.
Wait out usage limits, send continua, then resume the queue without wasting the next prompt.
Quick start | Limit recovery | Roadmap | Discussions
Why use it?
AI coding sessions often stop at the usage-limit boundary. Sending the next real
prompt immediately can waste it on another limit response. Claude + Codex Queue
keeps that prompt pending, waits for the reset, resumes the interrupted work
with continua, and only then processes the rest of the queue in order.
The app works with sessions you already use. It does not create a separate chat system and does not require external Anthropic or OpenAI API keys.
What it supports
| Source | Discover | Queue prompts | Auto-continue | Preserve settings |
|---|---|---|---|---|
| Claude Code in VS Code | Yes | Yes | Yes | Model, effort, permissions |
| Claude Desktop Code sessions | Yes | Yes, when locally resumable | Yes | Model, effort, permissions |
| Claude Code over Remote SSH | Yes | When enough metadata exists | Yes | Remote effective settings |
| Codex App tasks | Yes | Yes | Yes | Model, reasoning, sandbox, approvals |
Additional capabilities:
- newest-real-message sorting across Claude and Codex;
- persistent FIFO queue with per-prompt priorities;
- one-minute safety delay after a parsed reset time;
- multi-account Claude metadata synchronization and chat transfer;
- account mismatch and view-only checks before actions are enabled;
- transcript confirmation after every Codex send;
- local web UI plus a scriptable CLI;
- no runtime Python dependencies outside the standard library.
Quick start
Windows app and Desktop shortcut
Requirements: Windows, WSL, Python 3.10+ in WSL, and at least one authenticated Claude Code or Codex CLI installation.
git clone https://github.com/ravhello/claude-codex-queue.git
cd claude-codex-queue
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\install-desktop-shortcut.ps1
Open Claude + Codex Queue from the Desktop. The launcher starts the local server and opens http://127.0.0.1:8765/.
To run it without installing a shortcut:
.\start-claude-codex-queue.ps1
Install the CLI from the latest wheel
Run this inside WSL:
python3 -m pip install claude-codex-queue
claude-codex-queue doctor
claude-codex-queue-web --host 127.0.0.1 --port 8765
The source checkout is recommended if you want the Windows launcher and Desktop shortcut. The wheel is useful for CLI-only installations.
How limit recovery works
flowchart LR
A["Queued prompt"] --> B["Resume selected session"]
B --> C{"Usage limit?"}
C -- "No" --> D["Confirm prompt in transcript"]
C -- "Yes" --> E["Keep prompt pending"]
E --> F["Wait until reset + 60 seconds"]
F --> G["Send 'continua'"]
G --> H{"Previous work finished?"}
H -- "Not yet" --> G
H -- "Yes" --> A
Auto-continue can also monitor a selected session with an empty queue. It sends nothing while no active limit is detected.
Safety guarantees
- The project does not bypass or evade provider limits.
- The next queued prompt remains pending when a limit is detected.
- Chat settings are fingerprinted and checked before sending.
- External Anthropic and OpenAI API-key/base-URL overrides are removed from child processes, so local CLI authentication remains authoritative.
- Codex dangerous bypass mode is never enabled implicitly.
- Controls are disabled for sessions that are genuinely view-only.
- Queue state and logs stay local under the detected Windows profile.
Read SECURITY.md before sharing diagnostics. Never publish private transcripts, authentication files, tokens, or unredacted logs.
CLI
claude-codex-queue doctor
claude-codex-queue list --limit 30
claude-codex-queue add --chat <selector> [--priority 100] "message"
claude-codex-queue status -v
claude-codex-queue check-settings
claude-codex-queue run
claude-codex-queue remove <item-id>
claude-codex-queue reset <item-id>
claude-codex-queue clear
<selector> accepts a visible row number, session-ID prefix, title fragment,
or working-directory fragment. Multiple messages can be supplied in order or
loaded from @prompt.md.
State and compatibility
New installations use:
<Windows user profile>\.claude-codex-queue
Existing installations automatically keep using .claude-vscode-queue, so an
upgrade does not reset queues or logs. The old Python modules, commands, and
launcher names remain as compatibility aliases.
Development
python3 -m unittest discover -s tests -v
python3 -m build
python3 -m twine check dist/*
See CONTRIBUTING.md, ARCHITECTURE.md, and the roadmap. Questions and setup help belong in Discussions; reproducible defects belong in Issues.
Project status
Current release: v0.2.2. The project is alpha software tested on Windows/WSL with local Claude Code and Codex App workflows. Upstream desktop metadata is not a public compatibility contract and may change between provider releases.
Claude + Codex Queue is an independent open-source project. It is not affiliated with, endorsed by, or sponsored by Anthropic or OpenAI.
Released under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file claude_codex_queue-0.2.2.tar.gz.
File metadata
- Download URL: claude_codex_queue-0.2.2.tar.gz
- Upload date:
- Size: 73.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41b3e4a729ac05e7906b6d6a1bc879a81dd858f45371f3f2d1edf4e6160aced4
|
|
| MD5 |
e840f14715912290f950cf08bd93e71c
|
|
| BLAKE2b-256 |
eae7b60364ba685295886346b4ba03259a427bd3c656412187ec988c6ddf1208
|
Provenance
The following attestation bundles were made for claude_codex_queue-0.2.2.tar.gz:
Publisher:
publish-pypi.yml on ravhello/claude-codex-queue
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claude_codex_queue-0.2.2.tar.gz -
Subject digest:
41b3e4a729ac05e7906b6d6a1bc879a81dd858f45371f3f2d1edf4e6160aced4 - Sigstore transparency entry: 2148105511
- Sigstore integration time:
-
Permalink:
ravhello/claude-codex-queue@59b7ddbf4399f8b759e7d6443365092a673929a1 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ravhello
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@59b7ddbf4399f8b759e7d6443365092a673929a1 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file claude_codex_queue-0.2.2-py3-none-any.whl.
File metadata
- Download URL: claude_codex_queue-0.2.2-py3-none-any.whl
- Upload date:
- Size: 63.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8034db739961f26607fe4b1ac237529a17ef30dcbb1c0a73f2908c8a4e87b586
|
|
| MD5 |
c93670e4df10d5a596bb2af4375cea62
|
|
| BLAKE2b-256 |
763600d9624e21049f0361a92b4c6091889677e727fa4190cadbc1507a132f94
|
Provenance
The following attestation bundles were made for claude_codex_queue-0.2.2-py3-none-any.whl:
Publisher:
publish-pypi.yml on ravhello/claude-codex-queue
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claude_codex_queue-0.2.2-py3-none-any.whl -
Subject digest:
8034db739961f26607fe4b1ac237529a17ef30dcbb1c0a73f2908c8a4e87b586 - Sigstore transparency entry: 2148105519
- Sigstore integration time:
-
Permalink:
ravhello/claude-codex-queue@59b7ddbf4399f8b759e7d6443365092a673929a1 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ravhello
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@59b7ddbf4399f8b759e7d6443365092a673929a1 -
Trigger Event:
workflow_dispatch
-
Statement type: