Repository navigation
Conversation
…n offer it (1.11.0) `elevenlabs setup --yes` installs the ElevenLabs plugin (skills and the hosted MCP server) into Claude Code and Codex through their own plugin commands, prints the marketplace link for Cursor, and with none of them copies the skills into ~/.agents/skills. Without --yes it only says what it would do. Onboarding asks the approval page whether to offer it (setup_offer=1). When the callback says yes, the reply that ended the flow after a test request that worked, or for a voice agent project, asks instead whether to set ElevenLabs up in the agents found, and `onboard setup` does it.
…nd honours --dry-run Claude Code installed by npm names node or bun in CLAUDE_CODE_EXECPATH, so setup now uses that path only when the program is called claude, and starts every agent command in the home folder, where nothing in the project can be loaded. A command past its time limit is stopped with every program it started. --dry-run installs nothing, in setup and onboard setup. On Windows a .cmd shim is started by its full path, without a hand-built cmd /C, so a folder with parentheses works. A skills copy that stops partway is replaced next time, onboard setup with no home folder ends with a reply, and a failed setup says how to try again.
…s what it started On Windows the search path arrives as Path, so setup looked for PATH, found no agent and copied the skills instead of installing the plugin. Variable names now match ignoring case on Windows, and windows-smoke runs setup from PowerShell too. Ctrl-C or SIGTERM during an agent command now stops that command and everything it started, then exits with 130 or 143. A skill folder whose marker can't be written is removed rather than left unmarked.
The offer to set up the coding agents no longer waits for anything from the approval page: every sign-in that works leaves it due, and the flow makes it once, at the end, as before. The sign-in link and the callback handling are back to what they were.
… when the skills download holds none An empty or relative entry on PATH names a folder in the project, so a claude or codex there could be run by setup. Those entries are now skipped. A skills download with no skill in it used to report "copied 0 ElevenLabs skills" as a success; it now fails and says so. The skills download takes its URL as a parameter, so tests serve archives from a local server.
…rocesses, as tables and a randomized run Every combination of Claude Code, Codex and Cursor, and the awkward PATH and CLAUDE_CODE_EXECPATH values; each agent command failing in turn, and 2,000 seeded random failure patterns against an injected clock; the skills download against a local server standing in for GitHub, and every state the home folder can be in; and real child processes for stdin, large and broken output, signals, vanished programs, limits and leftovers.
setup for every combination of stand-in agents and flags, a stand-in failing at each step, odd folder names, ten runs in a row and two at once, and agents started from the shell's environment, never a project's .env. Whole flows through the real loopback sign-in: the offer after a test request that works, once per sign-in, with the flags and the npx spelling in its run. With no sign-in, every reply is compared with the base commit's, kept in tests/fixtures/. SIGINT and SIGTERM during each of the six agent commands, twice in a row, with SIGINT ignored, and with no agent command running.
…uding a failed install Both the Git Bash and the PowerShell steps now check that setup without --yes runs nothing, that a stand-in codex.cmd gets its three commands in order, and that a claude.cmd refusing plugin install makes setup --yes exit 1 and show the error.
…n one it was just starting A program being started as its group was killed could miss the signal and keep running. Once the stopped command is reaped, its group is now killed until it is empty. Found by fifty_runs_in_a_row_leave_no_process_behind, which failed in each of three full test runs.
…rs as it is stopped
This was referenced Nov 13, 2026
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.
Summary
Getting ElevenLabs into a coding agent takes a different handful of commands for each agent, and onboarding leaves you with an API key but nothing installed in the agent itself.
elevenlabs setupdoes it in one command, andonboardnow offers it at the end.~/.agents/skills.--yes. Running it again updates.onboardasks once whether to set up the agents it found. Nothing else about onboarding changes.It's careful about what it runs: only a program called
claudeorcodex, started from your home folder, never anything in the project. A step that hangs is stopped after 30 seconds along with anything it started, and Ctrl-C stops it cleanly. On Windows it works from PowerShell and Git Bash.Bumps the version to 1.11.0. The plugin needs its own fix released first (0.5.0, branch
paul/one-command-setup-pluginin elevenlabs/plugin). Without it, Claude Code installs the plugin but drops its MCP server.Testing
cargo test --lockedpasses three runs in a row on macOS, and on Linux in a container. 61 new tests cover finding the agents, each install step failing, the skills copy, hangs and Ctrl-C, as unit tests and through the real binary. I broke the code 14 ways on purpose and a test caught each one.claudein a relative PATH folder could be run, an empty skills download counted as success, a step stopped at its time limit could leave a process behind, and a failed install could put megabytes of the agent's output into the reply.setup. Both agents list the plugin afterwards.setupon Windows, from Git Bash and PowerShell, against stand-in agents, including a failed install.