Repository navigation
fix(host): exit 1 from a failed ask, name agent access in a refusal, and tell unknown providers and models apart - #681
Merged
Merged
Conversation
…and tell unknown providers and models apart ace info names the channel's host and its owner's GitHub login, and ace directory says whether this Mac serves it and when it last synced.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The command line's answers now say what happened, so scripts and people can tell.
ace askexits 1 when the run fails or is stopped (help says so). Before, a failed run printed(run ended)and exited 0.--modelforace newandace modeltells three cases apart: "There's no model provider named nope.", "openai has no model named does-not-exist." (provider has a key), and the existing "Add its provider key first." (provider has no key).ace infoaddshostand givesowneras the GitHub login the app shows, through the running host's roster. It falls back to the Tailscale login when no login is known.ace directorysays "This Mac serves it." when it does, then "Synced 3m ago.", "Last sync failed …: ", or "Not synced yet." It reads the running host's directory. A--loopbackhost or a host that isn't running says it doesn't sync.Already on main and not changed here:
sayconfirms (#661), andace desktop/ace agentsrefuse words other than on/off.Map: ^592, ^858, ^588, ^867, ^377, ^875, ^881, ^833 (https://ace-map.iamnbutler.pages.nexthub.sh/cli.html)
Smoke: isolated
ACE_HOME/config/keychain host from this lane on port 5120, real OpenAI key:ace new|model --model nope/x→ no-provider message;openai/does-not-exist→ no-model message;google/gemini-2.5-pro(no key) → key message. All exit 1.ace ask smoke "Reply with just the word pong."→pong, exit 0. Stopped mid-sleep 60withace stop→ exit 1. Host restarted with a bogus OpenAI key →Run failed: OpenAI API error (401)…, exit 1.ace agents smoke off, thenaskas anotherACE_USER→ the new refusal, exit 1.ace info smoke→"host": "natembp","owner": "iamnbutler"(it was the Tailscale email before).ACE_DIRECTORY=https://example.invalid→ "Last sync failed just now: Could not reach …". Withdirectory-serveon → "This Mac serves it. / Synced just now."; off → "No directory". Loopback host → the loopback line.Not tried: a real teammate's channel on a second Mac. The relayed
askrefusal is the same channel error, and relayedinfotakeshostfrom the listing.Built in Ace
No. Made from Claude Code (fix-train worker) outside an Ace channel. Dogfooding gaps are tracked in #5.