Skip to content

Crux v0.93.0

Choose a tag to compare

@github-actions github-actions released this 05 Sep 13:52
· 275 commits to main since this release
ea9acec

Crux v0.93.0

A substantial update to Crux's provider runtime, image generation, command-line compatibility, remote setup, and everyday agent tooling. This release moves legacy provider discovery to explicitly installed bundles, adds new ways to use Crux from existing automation, and strengthens the boundaries between selected providers, credentials, sessions, and background work.

Archive correction, September 5, 2026: The release archives were refreshed to include the compatibility guide, provider-plugin guide, preset catalog README, and Catwalk license omitted by the initial packaging rules. Executables and the v0.93.0 tag are unchanged. If you downloaded an earlier archive, download it again with the current checksums.txt.

Provider runtime and catalog migration

  • Provider and model discovery now use Crux's Foundation runtime and trusted installed bundles instead of the legacy embedded or cached Catwalk catalog. Historical providers.json files are no longer loaded, and the old update-providers command is removed.
  • Includes 26 individually installable provider presets migrated from Catwalk v0.51.23, covering providers such as DeepSeek, Groq, Fireworks, Hugging Face, Moonshot, OpenCode, Venice, xAI, and Z.AI. These are data-only catalogs for the existing OpenAI-compatible implementation, not executable plugins.
  • Expands declarative provider integration across authentication, endpoints, request construction, response events, model controls, metadata, usage, images, and compatibility adapters. Installation checks the declared contract against the runtime that will execute it.
  • Provider configuration, credentials, model selections, and in-flight operations remain bound to the exact registered owner. A missing, changed, disabled, or untrusted integration stays visibly unavailable instead of silently becoming a different provider or generic endpoint.
  • Preserves selected provider/model values during temporary plugin unavailability and keeps auxiliary model calls attached to their selected provider.
  • Fixes setup for anonymous plugins: a provider that declares no authentication no longer gets forced through API-key onboarding. Providers that require credentials retain their authentication checks.

Upgrading provider configuration

Keep existing trusted provider bundles installed when upgrading. Full protocol and OAuth integrations require their corresponding provider bundles; this release does not distribute private provider bundles, accounts, or credentials. Copilot remains core-owned.

For a migrated OpenAI-compatible provider, install its preset from the extracted release archive or repository checkout, then restart Crux. For example:

crux plugins install ./plugins/provider-presets/deepseek.plugin

Retain the API key or environment variable required by that provider. Do not recreate a preset-owned provider as an unrelated custom endpoint to bypass a missing integration. Providers needing a different protocol or identity flow are not automatically converted into OpenAI-compatible presets.

See the provider preset catalog and provider plugin documentation for the supported bundles, installation contract, and migration details.

Image generation and editing

  • Adds image generation and editing through the crux imagegen command and native imagegen tool, backed by separately installed declarative image-provider bundles.
  • Image jobs run in the managed background worker pool and report completion back to the originating conversation.
  • Supports provider-declared models, sizes, quality, transparency, input images, and multiple output variants.
  • Captures the selected provider owner before permission approval and retains it throughout execution. A missing or replaced provider is not silently substituted.
  • Adds collision-safe output allocation, explicit overwrite handling, input/output path authorization, persistent upload tracking, and preservation of successful variants when another variant fails.
  • Publishes a dedicated image-provider schema alongside the configuration, provider-plugin, and provider-preset schemas.

Image generation requires a compatible installed image provider and its authentication. Backend-specific capabilities and availability come from that bundle; the standard release does not include private image-provider bundles or guarantee access to a particular service.

CLI compatibility for existing automation

Experimental and not well tested. Verify the compatibility layer with your own workflows before relying on it.

  • Adds built-in, unofficial adapters for the codex, claude, agy, and copilot command contracts while keeping normal crux invocation unchanged.
  • Supports translated prompt entrypoints, session operations, model selection, permission controls, and text or machine-readable output where defined by each adapter.
  • Adds native-backed protocol surfaces including Codex app-server stdio, Claude stream JSON and SDK WebSocket, Antigravity stream JSON, and Copilot ACP/SDK stdio.
  • Provides an explicit, reversible local alias installer with status, enable/disable, repair, and removal operations. Existing official executables are not overwritten.
  • Documents accepted no-op flags and unsupported administrative operations rather than claiming complete equivalence with vendor tools.

The adapters are included in the Crux executable. The separate crux-compat alias manager is built from the checkout and is not included as a second executable in the standard release archives. See the compatibility guide before using the aliases in automation, especially when relying on sandbox, budget, or permission flags.

Remote setup and workspace management

  • Adds crux server setup and crux connections pair for a guided, one-time enrollment flow. Setup codes carry a short-lived registration token and server-certificate fingerprint; client and server private keys remain on their originating machines.
  • Adds managed Linux user-service installation and lifecycle commands, with foreground setup for environments without supported service management. The explicit offline pairing flow remains available.
  • Improves the remote workspace menu with active/idle workspaces, bounded directory browsing, configured-root navigation, filtering, refresh, and return-to-menu behavior after a graceful workspace exit.
  • Keeps remote filesystem access within configured roots and forwards selected provider state through the authenticated connection without persisting forwarded credentials on the server.
  • Fixes workspace initialization when connecting to a server on another host.

Agent tools, diagnostics, and indexing

  • Adds a native jq tool that shares the embedded shell's JSON-query implementation without requiring an external jq executable.
  • Unifies file-path and file-content discovery under the search tool, with explicit search modes and bundled ripgrep on supported platforms.
  • Adds bounded traffic-record detail and body-search tools for local HTTP and WebSocket diagnostics, so inspecting one request does not require loading an entire capture.
  • Adds optional isolated HTTPS traffic capture with a local authenticated viewer. Capture requires explicit approval because decrypted traffic can contain credentials and private data.
  • Improves semantic-index storage cleanup and recovery while preserving usable index state.
  • Strengthens scoped memory and active-skill synchronization so the available tools and instructions reflect the current session configuration.

Traffic capture is an optional source-build feature. Build with ./build.sh --build --embedded-mitmproxy to include its runtime on supported targets. Standard release archives are untagged builds and do not contain the embedded mitmproxy runtime; they do not fall back to installing or running host Python for capture.

Known optional-runtime security issues: The capture runtime pins Tornado 6.5.5, MessagePack 1.1.2, h2 4.3.0, and cryptography 48.0.1, which have published security advisories. Fixed dependency versions fall outside the latest published mitmproxy 12.2.3 constraints, so this release retains the existing pins rather than silently overriding them. Optional capture builds remain affected; the standard release archives do not include these Python dependencies. Do not treat the optional runtime as security-cleared by this release.

Session, background-task, and UI reliability

  • Tightens permission handling across normal turns, background agents, continuations, and compatibility execution.
  • Improves background-task lifecycle handling, output routing, and presentation, including image jobs. Closed task stores consistently reject further operations, including on Windows, so failed persistence releases reserved task capacity.
  • Strengthens plan-mode execution boundaries and completion handling.
  • Improves streaming retry presentation, conversation-summary handling, and model/provider selection behavior.
  • Preserves queued follow-up input when canceling, keeps task notifications out of prompt-input history, and improves rewind and modified-file behavior.
  • Improves dialog/button interaction, responsive layout, and provider-themed UI presentation.

Build, packaging, and security fixes

  • Fixes native builds under macOS's system Bash when no optional build tags are selected. Build, test, and check modes retain their exit-status behavior.
  • Adds an explicit Rosetta-based macOS x86_64 build-and-verification mode for Apple Silicon source builds.
  • Updates golang.org/x/crypto to v0.56.0 to address the reported SSH connection-deadlock advisories.
  • Improves response-body cleanup, streaming resource ownership, and cancellation-context propagation in transport and diagnostic paths.
  • Strengthens owner checks and resolved-path authorization around credentials, provider operations, and filesystem access.
  • Requires shell approval for multiline scripts, redirections, command substitutions, and command-launching wrappers instead of trusting a safe-looking prefix.
  • Validates migration backup targets before recovery cleanup and confines optional runtime archive extraction to its staging directory.
  • Resolves dangling symlink targets before file authorization, retains exact numbered image outputs across approval and enqueue, and authorizes every affected LSP rename path before checkpoint reads or mutation.
  • Uses Windows ACLs for private compatibility installation directories instead of Unix permission bits.
  • Preserves canonical provider-preset bytes in Windows checkouts so line-ending conversion cannot invalidate trusted catalog digests.
  • Fixes Windows browser-cookie database URI handling and portable capture path, executable, and bounded-log handling.
  • Fixes the documented DeepSeek example's collision with the protected canonical preset identity.
  • Updates generated Swagger output and release generation to cover all four schemas.
  • Release archive declarations now include the public preset catalog and its license, compatibility documentation, and image-provider schema, and no longer reference a missing code-of-conduct file.
  • Expands regression coverage for provider ownership, plugin installation, transport lifecycles, test-state isolation, command compatibility, image jobs, and UI behavior.

Crux remains independently maintained and unaffiliated with the vendors whose provider protocols or command contracts it supports. Required upstream and third-party license notices remain included.