You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
gbot codex / bridge: inject messages into Codex threads via app-server #26
Add a gbot subcommand (or sibling codex-bridge binary in this repo) that attaches to a Codex app-server and injects messages into threads with documented JSON-RPC (turn/start).
Connect to $CODEX_HOME/app-server-control/app-server-control.sock (WebSocket-over-UDS) orcodex app-server proxy
initialize + initialized
thread/list / thread/resume as needed
turn/start with input: [{ type: "text", text: "..." }]
Optionally experiment with toolOutput: { name: "send_message_to_thread", ... } for delegated provenance (may not get Desktop banner)
Desktop limitation (must document)
While ChatGPT Desktop uses private stdio + CODEX_APP_TOOLS_PIPE_PATH, the shared control socket is often missing. External inject into live Desktop tasks is blocked until upstream fixes:
GPT-6 Pro revisions for gbot codex (chatgpt.com, 2026-09-14)
Scope wording
Prefer: existing threads on an explicitly reachable, supported app-server (daemon or deliberately shared server) — not “every TUI session sharing CODEX_HOME.”
Remove / change from current issue body
Drop “detect Desktop-private mode from missing socket.” Report truthful diagnostics (socket-not-found, permission-denied, thread-not-loaded-here, desktopAttachment: unknown). Only claim desktop-private-unsupported with real evidence.
DroptoolOutput impersonation of send_message_to_thread. Use plain text with bridge provenance for requests; optional later toolOutput named gbot_result for real bridge results.
Drop “require auto approvals_reviewer for unattended.” Delivery ≠ authority; do not silently reconfigure sandbox/approvals on the recipient thread.
Default agent list to loaded threads; make resume explicit. Never spawn another app-server / force unlock on ownership failure.
Delivery semantics
send: immediate submit; document native start-or-steer (no race-free idle-only via check-then-start).
steer: requires expectedTurnId.
queue: capability-gated; investigate upstream codex queue / thread/queue/add before building our own; never silent fallback to steer.
Receipts: accepted | completed | failed | blocked | unknown. Retry reads; do not blind-retry submit after lost ack.
Activity
ScriptedAlchemy commentedon Sep 15, 2026
GPT-6 Pro revisions for
gbot codex(chatgpt.com, 2026-09-14)Scope wording
Prefer: existing threads on an explicitly reachable, supported app-server (daemon or deliberately shared server) — not “every TUI session sharing
CODEX_HOME.”Remove / change from current issue body
socket-not-found,permission-denied,thread-not-loaded-here,desktopAttachment: unknown). Only claimdesktop-private-unsupportedwith real evidence.toolOutputimpersonation ofsend_message_to_thread. Use plain text with bridge provenance for requests; optional latertoolOutputnamedgbot_resultfor real bridge results.Delivery semantics
send: immediate submit; document native start-or-steer (no race-free idle-only via check-then-start).steer: requiresexpectedTurnId.queue: capability-gated; investigate upstreamcodex queue/thread/queue/addbefore building our own; never silent fallback to steer.accepted | completed | failed | blocked | unknown. Retry reads; do not blind-retry submit after lost ack.Layout (keep JS ESM; no TS migration)
Reuse agent-bundle’s UDS+WS pattern, not the whole helper (it drops
methodnotifications / closes too early).Commands
Security
codex_rpc(method, arbitraryParams).Source: model 6 Pro on chatgpt.com.