docs(release): describe non-login Codex tool shells for 0.7.10

Carries #2613's 0.7.10 notes (the CHANGELOG section and whats-new) and adds one capability-map line: managed Codex seats run tool commands in a non-login shell, and launch.codex_login_shell defers to Codex's own setting at each seat's next launch.
This commit is contained in:
dev60-review committed 2026-11-07 06:00:42 +00:00
1 parent 6130b4308c
commit cd8e32f18d
3 files changed
+34 -14

No files matched your search

+18 -8
View File
@@ -154,6 +154,12 @@ A verified export, a finished task and an exact restore haven't been shown.
now has the agent point npm's prefix at a folder the person owns whose `bin` is
on their login PATH, or use a version manager's Node, saying first what that
changes, and install inside the project only if neither works. ([#2611](https://github.com/mvschwarz/openrig/pull/2611))
- **Plain `rig` works in managed Codex seats however OpenRig was installed.**
OpenRig now passes Codex `-c allow_login_shell=false`, so tool commands run in
a non-login shell and inherit the environment their pane's shell set up,
OpenRig's command folder included. To defer to Codex's own setting instead,
run `rig config set launch.codex_login_shell true`; it applies at each seat's
next launch, and a restart in place keeps the running choice. ([#2613](https://github.com/mvschwarz/openrig/pull/2613))
- **Agent spec advisories show where you'll see them:** `rig up`, a fresh restore
and a first-start retry report each as a launch warning naming the member,
spec and path, and `rig agent validate` prints them whether or not the spec is
@@ -204,6 +210,15 @@ A verified export, a finished task and an exact restore haven't been shown.
### Behaviour that changed
- **Managed Codex seats run tool commands in a non-login shell** (above).
Inherited setup isn't re-run for each command, so setup that lives only in
login or rc files (such as `~/.bashrc` lines your login file doesn't source, or
a tmux `default-command` that doesn't start a login shell), shell functions and
aliases may be missing from tool commands. A model request for `login: true`
gets Codex's own refusal, "login shell is disabled by config". With
`launch.codex_login_shell` on, OpenRig omits its override rather than forcing
login shells, so a login file that sets `PATH` outright can then hide `rig`.
([#2613](https://github.com/mvschwarz/openrig/pull/2613))
- **A held post-compaction step goes in after two idle polls that can't read the
input box** (above). A draft OpenRig can't recognise in that box may receive
the restore text. ([#2576](https://github.com/mvschwarz/openrig/pull/2576))
@@ -301,13 +316,6 @@ A verified export, a finished task and an exact restore haven't been shown.
required" until relaunched; in that upgrade test, one seat restarted with
OpenRig's managed restart showed no review afterwards. 0.7.10 changes
openrig-core's files again.
- **Codex seats can still report `rig: command not found`** when `rig` isn't on
the login shell's PATH: with Node outside it, or when npm can't install
globally and OpenRig is installed inside the project instead. Preflight warns
at launch, and the getting-started guide describes a `~/.profile` fix. The
rigs skill now tries a user-writable npm prefix first (above), but after a
project-local install Codex seats can still be left without `rig`.
([#2611](https://github.com/mvschwarz/openrig/pull/2611))
- **The runner contract** has run natively only at the scope its status section
states (`docs/reference/harness-runner-contract.md`); any other runner,
provider or path is unqualified until shown.
@@ -315,7 +323,9 @@ A verified export, a finished task and an exact restore haven't been shown.
and owned-delete inventory (fixed in the source, not yet run end to end), a
restore request held after a managed compaction, `rig broadcast`'s `FAILED`
for an uncertain recipient, the refusal for a seat handed over before 0.7.9,
and where to read what has run under the runner contract.
where to read what has run under the runner contract, and Codex seats'
`rig: command not found` (now a non-login shell by default; see Behaviour that
changed).
- **The 0.7.8 limits that 0.7.9 didn't fix or change, and the 0.7.7 and 0.7.6
limits, below still apply.**
+12 -6
View File
@@ -36,6 +36,15 @@ startup.
no review afterwards.
- **OpenShell:** rebuild a guest image with this release's `guest.py` before
using it; the CA repair is in that file, which the image carries.
- **Codex tool commands use a non-login shell:** managed Codex seats now pass
Codex `-c allow_login_shell=false`, so plain `rig` works however OpenRig was
installed. Setup that lives only in login or rc files, and shell functions and
aliases, may be missing from tool commands, and a model request for
`login: true` gets Codex's refusal, "login shell is disabled by config". To
defer to Codex's own setting, run `rig config set launch.codex_login_shell
true`; a login file that sets `PATH` outright can then hide `rig`. It applies
at each seat's next launch, and a restart in place keeps the running choice.
([#2613](https://github.com/mvschwarz/openrig/pull/2613))
## Finite runs: `rig exec`
@@ -163,10 +172,6 @@ daemon's main API port (normally 7433)."
`✔ Update installed · Restart to update` on its own line can still hold
deliveries at an empty prompt, queue wakes included; 0.7.10 doesn't recognize
that bare banner. A held message isn't replayed automatically by that path.
- **Codex seats can still report `rig: command not found`** when `rig` isn't on
the login shell's PATH: with Node outside it, or after a project-local
install. Preflight warns at launch; `getting-started.md` explains the
`~/.profile` line and how to check it with `bash -lc 'command -v node rig'`.
- **Seats handed over before 0.7.9** keep their adopted origin until a later
launched handover or managed launch records a new session. Until then
`rig seat stop`, `clean` and in-place restart refuse them, and now say why.
@@ -179,8 +184,9 @@ daemon's main API port (normally 7433)."
- **The other 0.7.9 limits below still apply:** open updates for a person, Slack,
SSH host status, shared asks, permit records, existing seats, Codex hooks, and
grant-service assistants not being woken. 0.7.9's limits on a restore request
held after compaction, `rig broadcast`'s `FAILED`, and what has run under the
runner contract are fixed or changed. The 0.7.8 limits below that 0.7.9
held after compaction, `rig broadcast`'s `FAILED`, what has run under the
runner contract, and Codex seats' `rig: command not found` are fixed or
changed. The 0.7.8 limits below that 0.7.9
didn't fix or change, and the
[0.7.7](https://github.com/mvschwarz/openrig/releases/tag/v0.7.7) and
[0.7.6](https://github.com/mvschwarz/openrig/releases/tag/v0.7.6) limits, still
@@ -810,6 +810,10 @@ version, from checking the environment to a useful report to the OpenRig team.
ID is verified.
Managed Codex launches turn off Codex's startup update check, so no update notice stops them;
updating Codex is the operator's job.
Managed Codex seats run tool commands in a non-login shell, so plain `rig` works however OpenRig
was installed; setup that lives only in login or rc files, and shell functions and aliases, may
be missing there. `rig config set launch.codex_login_shell true` defers to Codex's own setting at
each seat's next launch.
- **`rig seat set-model` / `stop` / `clean`** — persist the model for later managed resumes, stop
exactly one live seat (ending its session and any work in progress), or clear a dead seat's
stale binding. A stop is recorded, so the rig doesn't read `degraded` for that seat, and a rig