Repository navigation
Conversation
An agent in ~/agents could be connected, signed in or replaced, and replacing deletes its disk. So an improvement to its definition, in a team's repository or in a folder the agent edits itself, had no way in short of starting over. Setup now records where it made an agent from, and offers to update it from there (`--action update`). The update fetches the definition again and keeps what setup's questions decided: name, size, default harness, mounts, GitHub access and an image built here. It reuses the `.env`, lists the files that change, and applies the result in place. agentd cannot change some fields of an existing agent, such as its image or the list of skills it reads. When an update changes one, setup names it and offers to create the agent again, as replacing does; a script must pass `--replace`. Those rules now live on `Spec`, so agentd and setup share one definition. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the
|
| let mut kept = current.spec.sandbox.mounts.clone(); | ||
| for mount in &mut spec.sandbox.mounts { | ||
| if let Some(index) = kept.iter().position(|current| target(current) == target(mount)) { | ||
| *mount = kept.remove(index); |
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.
An agent that setup made could be connected, signed in or replaced, and replacing deletes its disk. So a change to its definition, in a team's repository or in a folder of your own, had no way in short of starting over.
Setup now records where it made an agent from, and offers to update it from there (
--action update). The update fetches the definition again and keeps what setup's questions decided: name, size, default harness, mounts, GitHub access and an image built here. It reuses the.env, asking only for values the definition newly declares, lists the files that change, and applies the result in place, so the agent keeps its disk and sessions.agentd cannot change some fields of an existing agent, such as its image. When an update changes one, setup names it and offers to create the agent again, as replacing does. A script must pass
--replace. Those rules now live onSpec, so agentd and setup share one definition. Once #366 merges, instructions and skills leave that list, and updating them no longer takes creating the agent again.Stacked on #359. Review the last commit only, and this retargets to
mainonce #359 merges.Try it
Comment
/agentctl-experimentalfor an installable build. On a home of its own:agentctl --home ~/.agent-try setupagents/minimal.instructions.md, or a value in its manifest, and run setup again. Pick the agent, then "Update it from where it came from".Clean up with
agentctl --home ~/.agent-try delete agent/<name>andrm -rf ~/agents/<name>.🤖 Generated with Claude Code