| RAD-ID(1) | Radicle CLI Manual | RAD-ID(1) |
NAME
rad-id - Manage changes to a Radicle repository's identity.
SYNOPSIS
rad id [<option>...]
rad id list [<option>...]
rad id update [--title <string>] [--description
<string>] <option>...
rad id edit <revision-id> [--title <string>]
[--description <string>] [<option>...]
rad id show <revision-id> [<option>...]
rad id accept | reject <revision-id>
[<option>...]
rad id redact <revision-id> [<option>...]
DESCRIPTION
The rad id command is used to manage and propose changes to the identity of a Radicle repository. Each repository has an associated identity document that contains metadata such as the repository name, description, and delegates. The identity document is versioned and changes to it must be signed by a quorum of delegates.
The identity document is stored as a Canonical JSON document.
COMMANDS
With no arguments, rad id defaults to the list command, showing the list of revisions to the identity of the current repository.
list
Lists all revisions to the identity document.
update
Proposes a new revision to the identity document. Revisions have a title and a description in addition to the proposed updated identity document, just like source code commits.
If a title and description are not provided on the command line, you will be prompted to enter one via your text editor.
Note that if you are the repository’s only delegate, proposed changes will be automatically accepted and included into the identity document.
--title <string>
--description <string>
--delegate <did>
--rescind <did>
--threshold <num>
--visibility <private> | <public>
--allow <did>
--disallow <did>
--payload <id> <key> <val>
--no-confirm
--edit
edit
Edit an existing revision to the identity document. The revision must still be in the "active" state. The same options as for update are available. Note that this edits a proposed revision to the identity; to edit the identity document itself, use update.
show
Show a specific revision of the identity document.
accept
Accept a proposed revision to the identity document. The revision must be in the "active" state and the caller must be a delegate.
reject
Reject a proposed revision to the identity document. The revision must be in the "active" state and the caller must be a delegate.
redact
Redact an existing revision to the identity document. The revision must not be in the "accepted" state and the caller must be the author of the revision.
OPTIONS
--repo <rid>
--quiet, -q
--help
EXAMPLES
Adding a delegate
To add a new delegate to a repository and update the threshold, use the update command:
$ rad id update --title "Add Bob" --description "Add Bob as a delegate" \
--delegate did:key:z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk \
--threshold 2
This will create a new revision proposing to add the delegate identified by the given DID and set the threshold to 2, meaning two delegates must sign off on future identity changes.
Changing repository visibility
To change a repository from public to private:
$ rad id update --visibility private
Note that this will require acceptance from a quorum of delegates to take effect.
Changing a repository payload
To change a repository’s name and description, this is usually done through the xyz.radicle.project payload:
$ rad id update --title "Update title and description" \
--description "Improve clarity" \
--payload xyz.radicle.project name '"radicle-beans"' \
--payload xyz.radicle.project description '"Tasty Radicle beans"'
Note that the values passed to --payload, eg. "radicle-beans" must be valid JSON values. This means that strings should be double quoted, as in the example above.
Removing a delegate
To remove a delegate and update the threshold, use the --rescind option:
$ rad id update --title "Remove Bob" \
--description "Bob is no longer a delegate" \
--rescind did:key:z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk \
--threshold 1
As with adding a delegate, this change will require approval from the remaining delegates. Make sure you set an appropriate new threshold when removing delegates!
Adding Canonical References Rules
To update the canonical reference rules of the project, use the --payload xyz.radicle.crefs option while updating, rules as the key, and the rules object as the value. Here is an example below:
$ rad id update --title "Update canonical reference rules" \
--payload xyz.radicle.crefs rules '{
"refs/heads/master": { "threshold": 1, "allow": "delegates" },
"refs/tags/*": { "threshold": 2, "allow": "delegates" },
"refs/tags/qa/*": { "threshold": 1, "allow": "delegates" }
}'
Alternatively, you can use the --edit option for the update command and edit the payload directly. Here is an example of what that may look like:
{
"payload": {
"xyz.radicle.crefs": {
"rules": {
"refs/heads/master": {
"allow": "delegates",
"threshold": 1
},
"refs/tags/*": {
"allow": "delegates",
"threshold": 1
},
"refs/tags/qa/*": {
"allow": "delegates",
"threshold": 1
}
}
},
"xyz.radicle.project": {
"defaultBranch": "master",
"description": "Radicle Heartwood Protocol & Stack",
"name": "heartwood"
}
},
"delegates": [
"did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi"
],
"threshold": 1
}
AUTHOR
The Radicle Team
| 2026-05-14 | rad 1.0.0 |