Skip to content

Headless ENS delete: ens --delete removes the agent's subname - #8

Merged
baairon merged 1 commit into
masterfrom
claude/wonderful-wright-obszfp
Oct 6, 2026
Merged

baairon merged 1 commit into
masterfrom
claude/wonderful-wright-obszfp

Conversation

@baairon

@baairon baairon commented Oct 6, 2026

Copy link
Copy Markdown
Owner

Summary

The last manager-only action gets a command.

  • ethagent ens --delete does three things, in one wallet tab:
    1. clears the agent records on the linked name;
    2. removes the subname from its parent, through the ENS registry or the NameWrapper;
    3. publishes the agent unlinked in one owner-signed save.
  • It reuses the manager's preflightDeleteSubdomain and the same planner path as --unlink.
  • Previews until --yes. Every transaction is listed and simulated. The preview notes that whoever manages the parent can create the name again, unless its fuses forbid that.
  • Signer. Only the wallet that manages the parent can sign it. --operator is refused (exit 2), so the operator key still can't remove names.
  • Refusals before anything is sent:
    • the name is not a subdomain;
    • the parent is managed by another wallet (the hint points to --unlink);
    • mixed modes.
  • Resumable. If a run stops after the subname is gone, running it again leaves only the save.
  • The wallet page gets an ens-delete timeline: Clear Records, Delete Subdomain, Save.

README: --delete is added to common tasks, the commands table and the ENS section, and the note saying delete stays in the manager is removed. Advanced custody is now described by what it does, without "Most people never need this." --help and commands/ethagent.md are updated too.

Testing

  • npm run typecheck and npm test (761 pass) in a clean env.
  • New tests cover:
    • the delete preview (clear, then delete through the registry, then save);
    • the refusals: another wallet manages the parent, the operator key, a top-level name, mixed flags;
    • the resume after the subname is already removed.

Live check after merge: ethagent ens --delete without --yes shows the plan and sends nothing.

🤖 Generated with Claude Code

https://claude.ai/code/session_01HG2miyE22qTuug1Quxj7iw


Generated by Claude Code

Clears the agent records, removes the subname from its parent, then publishes
the agent unlinked, through the same planner and wallet tab as --unlink. Only
the wallet that manages the parent signs it, never the operator key. A run
stopped after the removal finishes when run again.

README: document --delete and describe Advanced custody by what it does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HG2miyE22qTuug1Quxj7iw
@baairon
baairon merged commit 29b52b7 into master Oct 6, 2026
3 checks passed
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.

2 participants