Releases: pd95/local-agent-container
Release list
v0.7.2
More reliable container upgrades
This patch release makes container upgrades more reliable when package names change between images. Previously, two unavailable package names could block restoration of dozens of valid packages; upgrades now restore what is available and identify what still needs attention. Recovery inspection and upgrade previews also work more predictably with stopped containers.
Highlights
- Restore available Ubuntu/Debian packages even when some old package names or requested versions are unavailable.
- Inspect and resume saved recovery plans in stopped containers, including containers using the managed MCP bridge, while preserving their original running state.
- Preview upgrades of stopped containers without starting containers or exporting their filesystems. The preview clearly identifies installed-state details that were not inspected.
- Distinguish failed recovery actions from deferred ones and identify incomplete recovery in upgrade completion messages. Standalone recovery now returns a nonzero exit status when a selected action fails; successful container recreation still returns zero.
- Find common setup and everyday commands more easily in the reorganized README.
Updating to v0.7.2
- Repository: pull the updated host checkout to use the fixes.
agentctl refresh: not required for the v0.7.2 fixes. If you skipped v0.7.1, refresh existing containers that should receive its Codex launch fix, as described in the v0.7.1 release notes.agentctl upgrade: not required to apply these host-side fixes.- Recreate containers: not required.
- Rebuild images: not required.
Existing recovery plans can be resumed with agentctl upgrade restore --interactive. Unavailable package entries still require review; replacements are not guessed and failed entries are not automatically dismissed.
Full changelog
v0.7.1
Codex starts normally again after updating
Agentctl v0.7.1 is a quick follow-up to v0.7.0, released earlier today. It fixes a problem where Codex could stop launching in an existing agentctl container after a Codex update, and it includes all improvements introduced in v0.7.0.
Highlights
- Codex starts normally again in Alpine-based agentctl containers. Affected users previously saw
package link escapes its rootorfailed to read start time for pid-managed app server. - The fix works whether or not Codex Remote Control is enabled. Remote Control remains optional and is not enabled automatically.
- Existing Remote Control sessions continue using their shared background service.
- Codex updates no longer leave behind a package layout rejected by newer Codex versions.
Included from v0.7.0
- Inspect managed MCP definitions and connection health with more detailed
agentctl mcp listoutput and the new read-onlyagentctl mcp statuscommand. - Diagnose MCP failures through bounded, owner-only logs and recent sanitized error events without exposing credentials, request contents, URL paths, or query strings.
- Let progressing stdio MCP operations continue through resettable idle timeouts while enforcing a configurable maximum duration, and isolate timed-out requests so healthy shared servers keep running.
- Preserve image references still used by running or stopped containers during pruning, and stop safely when image usage cannot be verified.
- Prevent upgrades from continuing with incomplete runtime-state backups, including OpenCode, Pi, and Qwen state.
- Automatically use Codex's bundled
bwrapwhen the system version cannot start the Codex sandbox, while leaving the system package unchanged.
Updating to v0.7.1
- Pull the latest repository changes to obtain agentctl v0.7.1 and all v0.7.0 improvements.
- Run
agentctl refreshfor each existing container that should receive the fix. - Start Codex normally with
agentctl run --online; the temporary--no-daemonworkaround is no longer necessary. agentctl upgradeis not required for this release.- Existing containers do not need to be recreated.
- Images do not need to be rebuilt.
Full changelog
v0.7.0
Clearer MCP diagnostics and more reliable container maintenance
Agentctl v0.7.0 adds detailed, privacy-conscious diagnostics for managed MCP connections and makes long-running MCP operations more resilient. It also protects container images and runtime state during maintenance and works around incompatible system bwrap versions when launching the Codex sandbox.
Highlights
- Inspect managed MCP definitions and connection health with more detailed
agentctl mcp listoutput and the new read-onlyagentctl mcp statuscommand. - Diagnose MCP failures through bounded, owner-only logs and recent sanitized error events without exposing credentials, request contents, URL paths, or query strings.
- Let progressing stdio MCP operations continue through resettable idle timeouts while enforcing a configurable maximum duration, and isolate timed-out requests so healthy shared servers keep running.
- Preserve image references still used by running or stopped containers during pruning, and stop safely when image usage cannot be verified.
- Prevent upgrades from continuing with incomplete runtime-state backups, including OpenCode, Pi, and Qwen state.
- Automatically use Codex's bundled
bwrapwhen the system version cannot start the Codex sandbox, while leaving the system package unchanged.
Updating to v0.7.0
- Pull the latest repository changes to obtain agentctl v0.7.0.
- Run
agentctl refreshfor existing containers to install the updated managed scripts, MCP bridge behavior, and Codex sandbox launcher. agentctl upgradeis not required for this release.- Existing containers do not need to be recreated.
- Images do not need to be rebuilt.
Full changelog
v0.6.1
A quick runtime recovery patch for v0.6.0
Agentctl v0.6.1 is a quick follow-up to v0.6.0, released earlier today, that fixes runtime preference handling during upgrade recovery. It includes all of the managed MCP, Ollama diagnostics, package recovery, and agent-listing improvements introduced in v0.6.0.
Highlights
- Restoring Claude or another optional runtime no longer replaces the container's preferred runtime.
- When the preferred runtime itself is temporarily unavailable, deferred recovery reselects it after a successful installation.
- Failed runtime installations are reported accurately and remain available for a later recovery attempt.
Included from v0.6.0
- Add, remove, and inspect persistent managed MCP definitions without upgrading a container, with immediate activation for running containers and redacted credential output.
- Keep agentctl-managed MCP routes synchronized with Codex during upgrades and container startup while preserving user-managed Codex entries.
- Preserve requested MCP definitions and ports when upgrading stopped containers.
- Enable managed Ollama debug levels and optional request logging through both
ollama startandrun --start-ollama, with status reporting and safeguards against incompatible listener reuse. - Batch compatible DPKG and APK package recovery during upgrades, preserve per-package results after partial failures, and report clearer recovery summaries.
- Sort detailed agent listings with running agents first and names in a stable order.
Updating to v0.6.1
- Pull the latest repository changes to obtain agentctl v0.6.1 and all v0.6.0 improvements.
- If you already updated to v0.6.0,
agentctl refreshis not required for this patch. - If you are updating from v0.5.1 or earlier, run
agentctl refreshfor existing containers that should receive the v0.6.0 managed-script updates, especially MCP-enabled Codex containers. agentctl upgradeis not generally required for this release.- Container recreation is required only when an existing container lacks managed MCP wiring and you want to enable managed MCP for it.
- Images do not need to be rebuilt.
Full changelog
v0.6.0
Managed MCP and Ollama diagnostics
Agentctl v0.6.0 makes managed MCP configuration easier to change and more reliable across container lifecycle operations. It also adds opt-in Ollama diagnostics, improves package recovery during upgrades, and makes agent listings easier to scan.
Highlights
- Add, remove, and inspect persistent managed MCP definitions without upgrading a container, with immediate activation for running containers and redacted output for credentials.
- Keep agentctl-managed MCP routes synchronized with Codex during upgrades and container startup while preserving user-managed Codex entries.
- Preserve requested MCP definitions and ports when upgrading stopped containers.
- Enable managed Ollama debug levels and optional request logging through both
ollama startandrun --start-ollama, with status reporting and safeguards against incompatible listener reuse. - Batch compatible DPKG and APK package recovery during upgrades, preserve per-package results after partial failures, and report clearer recovery summaries.
- Sort detailed agent listings with running agents first and names in a stable order.
Updating to v0.6.0
- Pull the latest repository changes to obtain agentctl v0.6.0.
- Run
agentctl refreshfor existing containers that should receive the updated managed scripts, especially MCP-enabled Codex containers. agentctl upgradeis not generally required for this release.- Container recreation is required only when an existing container lacks managed MCP wiring and you want to enable managed MCP for it.
- Image rebuilds are not required for these changes.
Full changelog
v0.5.1
Reliable refresh for managed MCP containers
This patch fixes refresh failures affecting stopped containers configured with managed MCP. Refresh now safely restores temporary MCP infrastructure and preserves the container’s original lifecycle state.
Highlights
- Recreates missing managed MCP relay sockets before starting a stopped container for refresh.
- Prevents refresh from racing with managed start, stop, restart, and Remote Control operations.
- Restores stopped containers after successful refreshes and after partial or failed refresh attempts.
- Avoids leaving temporary MCP relays or Remote Control services active after cleanup.
Updating to v0.5.1
- Pull the latest repository version to receive the fix.
- Running
agentctl refreshis optional; the host-side fix is active immediately after pulling, though refresh will update the container’s tooling version marker. agentctl upgradeis not required.- Existing containers do not need to be recreated.
- Images do not need to be rebuilt.
Full changelog
v0.5.0
Safer container operations and more reliable local tooling
v0.5.0 improves container lifecycle management, upgrade recovery, local Ollama handling, and Xcode MCP reliability. It also expands guidance for remote control, networking, and managed MCP workflows.
Highlights
- Use clearer, separated commands for container lifecycle operations.
- Recover more safely from interrupted upgrades and confirm destructive configuration resets.
- Get more reliable Xcode MCP and managed MCP relay behavior.
- Let agentctl manage Ollama listeners for local runs and inspect them with
agentctl doctor. - Follow expanded documentation for remote Xcode MCP access, networking, and remote control.
Updating to v0.5.0
Pull the updated repository, then run agentctl refresh in existing containers to install the updated managed scripts and defaults.
You do not need to recreate containers or rebuild images solely for this release. Run agentctl upgrade only when you also want to replace a container’s configured image or apply image-level changes.
Full changelog
v0.4.2
Clearer Ollama Configuration Errors
This patch release improves validation and troubleshooting for local Ollama connections. Invalid OLLAMA_HOST values now produce an immediate, actionable error instead of an opaque connection or builder failure.
Highlights
agentctl runnow detects malformedOLLAMA_HOSTvalues before starting a local agent.- Validation errors suggest the correct URL using the detected container gateway, for example
http://192.168.64.1:11434. - Local Ollama URLs are checked for a valid scheme, host, and port.
-c ollama_host=...continues to take precedence over the environment variable.- Ollama settings no longer interfere with
--onlinesessions. - Connectivity errors now provide corrected listener commands and point directly to the networking guide.
Updating to v0.4.2
Update your checkout:
git pull --ff-onlyRefresh existing containers so they receive the corrected Ollama diagnostics and connection guidance:
agentctl refreshYou do not need to upgrade or recreate existing containers.
Rebuilding images is optional. Do it only if you want newly created containers to include v0.4.2 without requiring a later refresh:
agentctl buildFull changelog
v0.4.1...v0.4.2 (v0.4.1...v0.4.2)
v0.4.1
Remote Control Environment Fixes
This patch release improves Codex Remote Control sessions started through agentctl. Remote sessions now receive environment variables from your shell profile, fixing missing credentials and configuration for tools such as MCP servers.
Highlights
- Remote Control sessions now inherit environment variables exported by your configured login shell.
- MCP servers and other tools that depend on profile-provided credentials or configuration now work in detached Remote Control sessions.
- Both native Codex Remote Control and the App Server fallback receive the same environment.
- Command arguments containing spaces or shell syntax are handled safely.
Updating to v0.4.1
Update your checkout:
git pull --ff-onlyRefresh existing containers so they receive the corrected Ollama diagnostics and connection guidance:
agentctl refreshYou do not need to upgrade or recreate existing containers.
Rebuilding images is optional. Do it only if you want newly created containers to include v0.4.1 without requiring a later refresh:
agentctl buildFull changelog
v0.4.0...v0.4.1 (v0.4.0...v0.4.1)
v0.4.0
Codex Remote Control and Easier Recovery
Version 0.4 adds experimental native Codex Remote Control support, improves recovery when Apple's container service restarts, and makes the project's first-run documentation easier to navigate.
Highlights
Experimental Codex Remote Control
- Run Codex Remote Control inside an existing agentctl container and connect an eligible ChatGPT desktop or mobile client to that persisted development environment.
- Start, inspect, pair, and explicitly disable the service with
agentctl remote-control start,status,pair, andstop. - Keep the Codex App Server private to the container: it uses its local Unix socket and makes the provider connection itself, without publishing an inbound host port.
- Require an explicit, short-lived pairing code for each newly authorized controller; agentctl neither stores nor logs the code.
- Reuse the container's existing Codex state, authentication, conversations, configuration, and enrollment so local and remote sessions share one environment.
- Preserve Remote Control intent across ordinary container stop, start, restart, run, and in-place upgrade operations.
- Synchronize refreshed Codex authentication at managed online-service boundaries and refuse to adopt or stop App Server processes that agentctl cannot verify it owns.
Remote Control is experimental because the underlying Codex CLI and headless Linux workflow are experimental. Availability depends on the ChatGPT account, workspace policy, and client rollout. It requires an existing container with Codex and Node.js installed; an image rebuild is not required.
Get started from the project directory associated with an existing Codex container:
agentctl remote-control start
agentctl remote-control pairSee Codex Remote Control for lifecycle semantics, authentication synchronization, status states, security details, and the manual acceptance test.
Container-service recovery and clearer failures
- Detect an unavailable Apple container service before container-backed commands begin, avoiding cascades of misleading create, start, or inspection errors.
- Report the direct recovery command:
container system start. - Recover managed MCP operation after the Apple container service restarts by safely recreating its reboot-volatile runtime directory.
- Preserve fail-closed ownership, permission, and symlink checks while recovering runtime state.
Improved first-time documentation
- Bring the quick-start path earlier in the README and explain persistent versus temporary containers more clearly.
- Clarify the independent roles of images, agent runtimes, and optional features.
- Recommend explicit container names when using a work directory other than the current directory, so later lifecycle commands remain predictable.
- Move detailed managed MCP and Unix-socket guidance into focused guides while keeping the README concise.
- Reorder documentation links from introductory concepts toward specialized workflows.
The automated suite now includes expanded coverage for Remote Control parsing, ownership, locking, lifecycle restoration, authentication freshness, stop ordering, stopped container-service behavior, and MCP runtime-directory recovery. Remote Control pairing still requires the documented manual macOS smoke test because it depends on an eligible real ChatGPT client and interactive authorization.
Requirements and upgrade notes
- Apple Silicon Mac
- Apple container 1.1 or newer
- Bash
- jq 1.6 or newer
- Node.js for managed MCP and Remote Control workflows
- Ollama only for local-model workflows
Existing containers do not need to be rebuilt for Remote Control. The start command installs its small status helper into the selected container automatically:
agentctl remote-control start --name <container>Remote Control is provider-backed and always operates online; it does not use the local Ollama profile. Before first use, store Codex authentication through the normal agentctl authentication flow:
agentctl auth --runtime codexIf a container command reports that the Apple container service is unavailable, start it and retry:
container system startRelease history
- v0.4.0 adds experimental native Codex Remote Control, container-service recovery, fail-fast service diagnostics, and improved first-time documentation.
- v0.3.0 added managed stdio and HTTP MCP bridging, custom networks, Unix socket integration, SSH agent forwarding, and Apple container 1.1 lifecycle capabilities.
- v0.2.2 consolidated upgrade reliability, package restoration, image metadata, and regression coverage.
- v0.2.1 removed the host-side Python dependency.
- v0.2.0 introduced Apple container 1.1 compatibility, normalized runtime defaults, and image provenance.
Full changelog: v0.3.0...v0.4.0