Skip to main content
When a template gains a skill, fixes a persona, or changes a task schedule, you don’t have to rebuild the agent. Restamping updates an already-stamped agent in place. ncl groups create --template stamps a new agent only when no group carries the plugin yet. When one already does, the same command becomes an in-place update of that agent.
The dry run is the default and has no side effects. Nothing changes until you pass --yes.
First, get the new version into your local templates/. Restamping reads only your local copy — there is no built-in refresh from the registry, and the setup wizard deliberately keeps an existing local copy rather than overwriting it. If you skip this step the dry run lists every surface as unchanged, and applying with --yes reports Nothing to apply — the group already matches the template. — both read as a no-op rather than a stale copy.
  • You authored the template — edit it in place and re-run.
  • It came from the registry — clone or download the registry again and replace the local folder by hand.
Applying resets every plugin-owned surface to the template’s version, overwriting local edits to those files. The dry run flags them as CUSTOMIZED first — read it before you apply.

Picking the target

Restamping only ever updates an agent that template created, to a newer version of the same template. It is not a way to adopt a template onto an existing agent — a hand-built group, or one stamped from a different template, is rejected:
The check is whether the group’s workspace already holds that plugin’s manifest. To give an existing agent a different template, create a new agent instead.

What resets and what doesn’t

The template — including its ai.nanoco.nanoclaw extension — is the source of truth for everything it stamps. Restamping resets exactly those surfaces and touches nothing else. Two collision rules keep operator state safe:
  • Your servers win. A template server whose name is already taken by a server you added is skipped with a notice, and yours stays in place.
  • Activation survives. A task you resumed stays resumed while its prompt and schedule update.

Reading the plan

A header names the plugin and target group, then the run’s status, then one aligned line per surface in a fixed order — plugin, persona, context, skills, MCP servers, tasks — as action, surface, name, with any flags in parentheses:
Actions are create, update, remove, skip, and unchanged. Surfaces are plugin, persona, context, skill, mcp-server, and task. If the reader skipped or ignored anything, a Template reader notices: block follows the table. Applying swaps the status line for Restamp applied. Run `ncl groups restart --id <group-id>` for skill and MCP changes to take effect. — or Nothing to apply — the group already matches the template. when every surface was already current.
This is the human rendering an operator sees. A restamp requested by the agent through self-modification reports as JSON instead.
CUSTOMIZED means the live copy differs from what the previous template version stamped, so applying discards your local edits to that file. The baseline for that comparison is the previous plugin copy still sitting at plugins/<name>/ — no separate bookkeeping exists to drift out of sync.
Because plugins/<name>/ is the baseline, edits made directly inside it host-side are neither detected as customizations nor preserved. The container mounts it read-only; change the template, not the stamped copy.

Operational notes

  • Restart to pick up changes. Skill and MCP server changes take effect on the next container start: ncl groups restart --id <agent-group-id>.
  • Restamping is idempotent. If an apply fails partway, fix the cause and re-run it — the remaining changes converge.
  • Approve deliberately. When an agent requests a restamp through self-modification, the approval card shows only the command line. Run the dry run yourself before approving.
  • Plugin-owned servers are locked. ncl groups config add-mcp-server and remove-mcp-server, and the agent’s own add_mcp_server tool, refuse to edit a server owned by a plugin. Removing one by hand doesn’t stick either — it reappears on the next restamp. Update the template instead.
  • New context files need a restamp. Context extras are copied at stamp time, so files added to a template later don’t reach an already-created agent on their own.
  • --name and --timezone do nothing here. Both apply only when an agent is created; on the update path they are silently ignored, so --name "New Name" --yes will not rename the group. Use ncl groups update --id <agent-group-id> --name "New Name".
  • Removing a test agent. ncl groups delete --id <agent-group-id> cascades through sessions, wirings, and destinations, but leaves groups/<folder>/ and data/v2-sessions/<agent-group-id>/ on disk — delete those too if you want the workspace gone.

Using a template

Stamping an agent for the first time.

Building a template

Changing a template so there is something to restamp.
Last modified on August 13, 2026