Try a component upgrade and recover

On this page

Available in v0.2.15. Run these commands from your project checkout in a normal host terminal. Update discovery covers PyCharm, VSCodium, Codex, Claude Code, Antigravity CLI and PostgreSQL client. Codex currently supports preparation/selection through this interface; other components explain their delivery limits. Base and IDE upgrade delivery and DevCapsule self-update remain separate work.

For the meaning of freshness, support and unknown status, the six vendor sources, and current operational limits, read How DevCapsule checks component freshness.

When update checks fail

devcapsule project versions check reads vendor release metadata. Those interfaces can change independently of your installed DevCapsule version. When a check is inconclusive, DevCapsule also consults its maintained compatibility feed and component status page. It can identify a released CLI fix, or point to a known issue and workarounds. This restores guidance without changing your selected software.

A failed check does not mean your component is healthy, unhealthy or current. The last successful result, when available, is labelled historical. If our status service is unavailable, cached guidance retains its original timestamp; expired metadata cannot recommend an upgrade. Without a matching current diagnosis, the CLI says status remains unknown. Ordinary offline launch still works. --no-update-check and noninteractive launch make no automatic status requests. The feed receives no project configuration or installed-version query.

Updating DevCapsule to repair a check does not itself update the component. PostgreSQL is supplied by the pinned base: major-version support dates can be reported, but the current major-only lock cannot tell whether the installed minor is behind upstream or carries distribution backports. Clients predating this fallback need a normal CLI upgrade before they can consult it.

A version set contains the exact platform, base, components and recipe used to build an environment. The project recommends one in its committed platform lock. Your local selection belongs to your checkout configuration and stays complete even if the project recommendation changes.

Inspect from inside the capsule

Inside a capsule launched with the updated client, these commands work without registering another checkout in the container's home:

devcapsule project versions show
devcapsule project config list

versions show distinguishes the running session's version set, captured when it launched, from the current selection for the next launch. Changing the selection outside the capsule does not change its running software. config list shows the launcher's recorded configuration; host paths and permissions are not reinterpreted as container paths or current-session grants.

The launcher mounts the directory containing the selected checkout's local configuration read-only. The existing layout can place sibling checkout records in that directory; those records are readable too, but the CLI selects only the checkout identified by the launcher. The mount is not your entire user configuration tree, and directory/credential references in the records do not mount their targets. A separate read-only launch snapshot preserves the session's software identity. Directory mounting makes atomic host-side replacements visible.

Commands that change configuration, select software, or need launcher-owned upgrade history/cache give an outside-the-capsule command with the correct launcher checkout path. They do not create competing configuration inside the runtime. A different project can still be managed by a nested launcher.

Existing running capsules lack these mounts. Relaunch from outside the capsule with the updated launcher to enable introspection; replacing the executable inside an existing capsule cannot add its missing mounts. If host activation is unfinished or a record is unavailable, versions show still reports the captured running set and explains why the next-launch selection cannot be read. Runtime inspection never repairs the launcher's records.

Decide about a critical upgrade when launching

Run devcapsule project run as usual. In an interactive terminal, the launcher checks component channels at most once per day for the selected version set. An explicit security or end-of-support notice brings the decision into launch:

Security notice for tool 1.0.0: <vendor explanation>
Source: <distribution channel>
Last checked: <date and time>; cached metadata may be stale.
Choose upgrade (review first), later (seven days), keep (silence this notice), or stop launch [later]:

This example illustrates a channel-reported security notice, not a current advisory about Codex. Codex's npm channel currently supplies vendor deprecation notices; DevCapsule shows their wording under end-of-support/vendor deprecation. It does not query an independent vulnerability database or infer vulnerabilities from age, registry removal or deprecation wording.

Choose upgrade to see the exact changes, downloads, validation gaps and recovery options. Confirm to prepare the candidate and use it in this launch. Missing DevCapsule validation is disclosed in that confirmation. Any new vendor acquisition consent is asked separately; neither question grants host access. An available candidate is not automatically proof of a security fix.

later (also Enter) keeps your current version and asks again after seven days. keep silences this notice for this version and candidate; a new notice, revised explanation or new candidate can prompt again. stop or end-of-input cancels launch. Declining the preview defers the notice for seven days. If preparation fails, the launcher explains the failure and asks before continuing with the selected set. With no available replacement, it explains that limit and offers later, keep or stop. Recovery still requires a previously successful set.

Network failure does not prevent ordinary launch. A failed refresh retains a previously reported notice with its original check time. To skip refresh for a launch, use devcapsule project run --no-update-check; cached notices can still prompt. Noninteractive launches do not refresh, read answers or select upgrades: they report any unsilenced cached critical notice and use the selected set. Ordinary new-version notices remain quiet, remembered reminders.

Inspect and check

devcapsule project versions show
devcapsule project versions check

show is offline: it identifies your selection's origin, component versions, DevCapsule validation evidence and locally recorded successful use. check contacts the components' distribution channels. Availability, vendor withdrawal or lack of support, DevCapsule validation and your own successful use are separate facts. A failed check means metadata is unavailable; it does not mean your installed version is current or broken. Components without channels explain why their updates cannot be checked.

Preview, then choose

For Codex, ask for an exact version or the registry's latest label:

devcapsule project versions preview codex latest

Preview resolves the label to an exact version and immutable package checksums, without downloading executables or changing your selection. It shows what changes, required artifacts, validation gaps and the recovery option, and prints a full preview identity. Use that identity in the command it prints:

devcapsule project versions select PREVIEW_ID --unvalidated

--unvalidated is the explicit choice to try a set without complete DevCapsule validation. It does not bypass platform, dependency, consent or integrity checks. The selected component changes; other component versions and the base remain fixed. An unsatisfied declared dependency is named for separate explicit selection rather than silently upgrading another tool.

Selection downloads and verifies packages and builds the environment first. Only successful preparation changes the next ordinary launch. Existing sessions continue with their original versions. Failed preparation leaves your previous choice active; resolve the reported download/build problem and retry the same preview. If your selected software changed since preview, make a new preview.

devcapsule project run

When an ordinary session exits with code zero, DevCapsule records the exact set that launched as locally known-good. This is evidence of successful use, not a claim that every capability or account integration was tested. Closing a failed session or merely preparing a set does not certify it.

Roll back

devcapsule project versions history
devcapsule project versions rollback
devcapsule project run

Rollback selects the most recently successful other set. You can also supply a full identity from history to choose a specific set or repeat a recovery. If none exists, DevCapsule says so; configuration snapshots from earlier clients do not contain enough information to invent an operational predecessor.

Exact downloaded artifacts are retained under the XDG state directory, separate from disposable cache. Canonical images keep their distinct tags, and these commands never prune them. If you manually remove both the retained artifacts and the relevant image, recovery reports the missing resources and retains your current choice. rollback --reacquire deliberately attempts the original exact downloads; withdrawn vendor downloads may no longer be available. A missing base image also requires that explicit reacquisition choice. A changed DevCapsule launcher may rebuild the environment with identical outside/inside runtime bytes.

Rollback preserves current host permissions, state bindings, login files and project work. It does not restore old Docker access or other revoked permissions. It also cannot undo vendor state/schema migrations made by a newer agent. Version sets retain software, not automatic backups of personal state.

Follow the project again

devcapsule project versions follow-project
devcapsule project versions follow-project --apply

The first command shows the diff against today's recommendation. The second prepares it and removes your local selection. Changed vendor acquisition questions still need explicit consent. The failure names the target terms and the --authorize NAME true option to append to this command. The same option is supported by select and rollback for target acquisitions. It never grants Docker or other host access; denial leaves the current choice intact. Upstream changes are never merged silently into a local set; inspect the diff before applying.

Optionally propose your successful choice upstream

After successfully running the local set:

devcapsule project versions propose component-upgrade.patch
git apply --check component-upgrade.patch

Review the patch, including any differences introduced by upstream changes. An explicitly selected local base is named as a qualification; that run did not prove the proposed project base. It qualifies the evidence as a local zero-exit launch and carries unvalidated combinations in the lock. Apply and contribute it through your project's normal review process if you choose. DevCapsule does not edit the project lock, commit, open a PR, publish or merge on your behalf. The patch must be written to a new file; an existing file is never overwritten. A fixture's local download URLs must be replaced with portable artifacts before any real contribution.

Keep reminders quiet

devcapsule project versions defer
devcapsule project versions dismiss

check refreshes immediately; interactive launch also performs the daily check described above. An ordinary checked candidate is mentioned at most once per seven days. defer starts a fresh seven-day quiet period; dismiss silences the checked candidates and critical notices. A different candidate or critical notice can be surfaced later. A critical decision suppresses the duplicate ordinary reminder. Previously dismissing an ordinary update does not silence a new security/support notice. Cached metadata is labelled with its limits; a selected candidate is no longer mentioned as an update. These choices do not suppress notices owned by Codex or another vendor.

For commands outside the checkout, put --path before versions, for example devcapsule project --path /path/to/project versions show.

Read the source on GitHub Back to top ↑