Aside integration profiles silently go `off (stale)`, breaking sidecar sync (no auto-recovery, `client sync` no-ops)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- typescript
Research direction
Start by tracing the integration client sync --client aside and integration client enable entry points, then inspect how stale profiles become disabled and which profiles sync considers eligible. Reproduce with the reported off (stale) Aside profile if possible. Done means sync or doctor provides a reliable recovery path and the integration remains usable after the restart cycle.
Written by the indexing model from the issue text.
Description
Summary
After an ocx sync / Codex app restart cycle, the managed Aside integration profiles end up off (stale) and the OpenCodex sidecar provider/login config is no longer injected into Aside. ocx integration client sync --client aside then no-ops because disabled profiles aren't eligible, so there's no obvious recovery path short of a manual integration client enable.
Observed on macOS (home Mac), OpenCodex.app standalone runtime (/Applications/OpenCodex.app/Contents/MacOS/ocx), Codex 0.160.1.
What I saw
ocx integration client status --client aside:
0 bitkyc07: off (stale) [current]
1 Local Account: off (stale)
2 Local Account: off (stale)
ocx integration client sync --client aside:
No eligible Aside profiles to synchronize. Check integration status and profile sync preferences.
ocx integration native shows claude/grok/codex/claude-desktop all current / on, so only the Aside client fell out of sync.
ocx status is otherwise healthy:
Proxy: running (PID ...), Health ... ok (live)
Runtime source: standalone
routing=opencodex-local, service=absent, shim=absent
(Also surfaces Restart safety: AT RISK ... run 'ocx service install' and Codex autostart shim is not installed — possibly related, since there's no viable background service to keep integrations fresh across restarts.)
Likely cause
- Aside profiles were marked
stale(owner/attestation drift) and then flippedoff, but nothing re-enables them automatically. integration client sync --client asideonly refreshes already-enabled profiles, so once they'reoffit reports "No eligible Aside profiles" instead of offering to re-enable or pointing atintegration client enable.- Compounding: the Aside cloud account (
[email protected]) is signed out withdevice mismatch, which also makesaside exec(built-in models) fail with a 400, whileaside repl(direct browser) still works. The ocx-sideoff (stale)and the Aside-side sign-out look correlated.
Expected
integration client sync --client aside(orocx doctor) should detectoff (stale)profiles and either re-apply them or clearly tell the user to runintegration client enable --client aside --profile N.- Ideally, the sidecar integration should survive an
ocx sync --restart-codex/ app relaunch without silently going stale.
Workaround
Manual re-enable:
ocx integration client preview --client aside --operation apply --profile 0
ocx integration client enable --client aside --profile 0
(preview fingerprint p2:15b1dbef33ed299ae3ff59b9767c76ad, change = replace providers.opencodex).
Environment
- OpenCodex.app runtime: standalone (also npm
@bitkyc08/[email protected]installed under nvm, not running) - Codex 0.160.1, macOS (Apple Silicon)
- proxy port 10100
- Dominant language
- TypeScript
- Stars
- 16.9k
- Forks
- 1.3k
- Avg merge
- 4h 58m
- Merged PRs (30d)
- 616
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from lidge-jun/opencodex
-
account-pool enhancement proxy
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
Auth: paste Service Account JSON(s) as the API key — keychain-backed markers + key pool rotation (re: #6821)Possibly taken @GSL-R claimed this today. Openaccount-pool catalog enhancement
Difficulty 5/5 Over a week Newbie friendliness 22/100
lidge-jun/opencodex#6842 · 1 comment ·
Maintainers usually reply within 1 day
-
account-pool enhancement gui proxy
Difficulty 5/5 Over a week Newbie friendliness 8/100
Maintainers usually reply within 1 day
-
bug platform service
Difficulty 4/5 3-5 days Newbie friendliness 22/100
Maintainers usually reply within 1 day
-
catalog enhancement
Difficulty 4/5 3-5 days Newbie friendliness 35/100
lidge-jun/opencodex#6784 · 2 comments ·
Maintainers usually reply within 1 day
All issues in lidge-jun/opencodex
Similar issues
-
Mondriaan
Difficulty 1/5 Under an hour Newbie friendliness 88/100
knaw-huc/textannoviz#709 ·
Maintainers usually reply within 1 day
-
Add: YRF Music NepalOpenstreams:add
Difficulty 1/5 Under an hour Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
walletbeat/walletbeat#1558 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
hawk-digital-environments/HAWKI#438 ·
Maintainers usually reply within 1 day
-
good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
OktoLabsAI/okto-pulse#114 ·
Maintainers usually reply within 1 day