Skip to content

Add Codex tab and session support#88

Merged
gi11es merged 15 commits into
masterfrom
codex-tab-support
May 2, 2026
Merged

Add Codex tab and session support#88
gi11es merged 15 commits into
masterfrom
codex-tab-support

Conversation

@gi11es

@gi11es gi11es commented Apr 28, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add provider-aware tab/session state so Deckard can create, persist, restore, rename, and launch Claude Code, Codex, and terminal tabs independently.
  • Add Codex session discovery from ~/.codex/sessions, resume/fork support, fork-at-turn rollout generation, and Codex registration in ~/.codex/state_5.sqlite.
  • Extend the session explorer, bookmarks, summaries, timelines, action extraction, menus, shortcuts, tab bars, and sidebar controls to handle Claude Code and Codex sessions side by side.
  • Add a separate Codex badge set backed by Codex rollout events, including idle, working, error, and done-unvisited states.
  • Parse Codex token_count rollout events for context usage, 5-hour/7-day quota, and generated-token rate; hide all agent usage stats on classic terminal tabs.
  • Rewrite the README around equal Claude Code and Codex support, including a support matrix and provider-specific telemetry notes.

Verification

  • git diff --cached --check
  • xcodebuild build -scheme Deckard -destination 'platform=macOS'
  • Real Codex CLI smoke test: created a disposable synthetic Codex rollout/thread, verified codex exec resume --all --json <id> resolved it, then verified interactive codex fork --no-alt-screen --all <id> resolved and created a continuation thread. Removed the synthetic rows/files afterward.
  • xcodebuild test -scheme Deckard -destination 'platform=macOS' still fails before tests execute because DeckardTests.xctest cannot be loaded: mapped file and process have different Team IDs. This matches the local signing blocker seen before these final changes.

gi11es and others added 15 commits April 28, 2026 19:32
Claude Code on macOS detects an image-paste request via a bracketed
paste with empty content (CSI 200~ ... CSI 201~), then reads the
NSPasteboard itself. We were sending the kitty CSI-u Cmd+V sequence,
which Claude does not recognize — its input parser then extracts the
118 parameter as the codepoint for 'v' and inserts it into the prompt.
Codex still uses Ctrl+V.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@gi11es gi11es merged commit ef277ae into master May 2, 2026
3 checks passed
@gi11es gi11es deleted the codex-tab-support branch May 2, 2026 16:38
gi11es added a commit that referenced this pull request May 2, 2026
* Provider-aware tabs and sessions for Claude Code, Codex, and terminal.
* Codex session discovery, resume/fork, and rollout registration.
* Codex badge set with idle/working/error/done-unvisited states.
* Context, 5-hour/7-day quota, and rate parsing from Codex rollout events.
* Image paste in terminal tabs, with empty-bracketed-paste handling for
  Claude Code.
* README rewritten around provider parity matrix.

PR #88 was squash-merged with a non-conventional commit subject, which
release-please could not parse. This empty commit re-injects the change
under a conventional type so the next release picks it up.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant