Skip to content

fix: bind remote Claude agents to native CLI - #1

Open
troyhoffman-oss wants to merge 1 commit into
remote-firstfrom
codex/claude-acp-canonical-cli
Open

fix: bind remote Claude agents to native CLI#1
troyhoffman-oss wants to merge 1 commit into
remote-firstfrom
codex/claude-acp-canonical-cli

Conversation

@troyhoffman-oss

@troyhoffman-oss troyhoffman-oss commented Jul 27, 2026

Copy link
Copy Markdown
Owner

Summary

  • bind remote Claude ACP adapters to the host native Claude Code launcher instead of the adapter SDK bundle
  • reserve CLAUDE_CODE_EXECUTABLE against persona/user overrides
  • support both Claude ACP adapter names and document/preflight the vendor CLI requirement

Verification

  • cargo fmt --all -- --check
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test -p buzz-backend-ssh (107 passed)
  • desktop TypeScript tests (3,843 passed) and production build
  • desktop Tauri check and full tests (1,803 passed, 14 ignored; diagnostics 3 passed)
  • web production build
  • Flutter tests (695 passed, 1 skipped)
  • sh -n, dash -n, ShellCheck, git diff --check
  • GitHub: unit tests, all four desktop smoke shards, both Linux cross-compiles, relay E2E, backend integration, and both desktop integration shards passed

Existing branch-wide and infrastructure gate failures

The remaining red checks are unrelated to this five-file change:

  • desktop file-size gate: unchanged desktop/src-tauri/src/events.rs is 1,011 lines against a 1,000-line limit
  • buzz-db: unchanged nanosecond timestamp precision assertion in replica_fence::tests::fence_starts_closed_and_opens_on_advance
  • Rust lint: unchanged desktop/src-tauri/src/huddle/pipeline.rs fails the desktop Tauri rustfmt check
  • dependency policy: existing yanked spin 0.9.8/0.10.0 lockfile entries
  • macOS desktop build: unchanged mesh-llm dependency checkout is missing after cargo fetch
  • Windows Rust: clippy exposes seven pre-existing Unix-only test helpers as dead code; every reported definition and use predates this commit
  • Docker matrix: all four images build, then GHCR rejects cache-layer export with permission_denied for the GitHub installation

Signed-off-by: Troy Hoffman <troy.hoffman@icloud.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 303b48f819

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +443 to +445
claude_cli=""
case "${{harness##*/}}" in
claude-agent-acp|claude-code-acp)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Apply the native Claude binding to remote model probes

When the create dialog selects a remote Claude harness, discover.rs::models_script still invokes buzz-acp models --json without resolving or exporting CLAUDE_CODE_EXECUTABLE. Consequently, model discovery continues to use the adapter's bundled Claude binary while the deployed service uses the native launcher resolved here, so the catalog/authentication check can describe a different Claude installation than the one that actually handles turns. Reuse this resolution and binding in the remote probe path as well.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant