Skip to content

Commit 219f220

Browse files
Release cli-skill v0.2.11
Publish v0.2.11. Includes: - Teach agents safe listener secret recovery
1 parent ee8124b commit 219f220

6 files changed

Lines changed: 26 additions & 3 deletions

File tree

.claude-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "runapi-cli",
3-
"version": "0.2.10",
3+
"version": "0.2.11",
44
"description": "RunAPI CLI skill for Claude Code, Codex, Gemini CLI, Cursor, and 50+ agents",
55
"skills": [
66
{

.codex-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "runapi-cli",
3-
"version": "0.2.10",
3+
"version": "0.2.11",
44
"description": "RunAPI CLI skill for Claude Code, Codex, Gemini CLI, Cursor, and 50+ agents",
55
"skills": [
66
{

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Changelog
22

3+
## [v0.2.11](https://github.com/runapi-ai/cli-skill/releases/tag/v0.2.11) - 2026-07-20
4+
5+
### Changed
6+
- Document explicit per-key Listen Signing Secret rotation without replacing the business API key.
7+
- Require local verifier updates and listener restarts after rotation.
8+
9+
310
## [v0.2.10](https://github.com/runapi-ai/cli-skill/releases/tag/v0.2.10) - 2026-07-17
411

512
### Changed

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,14 @@ If listener access returns `cli_listen_required`, the imported API key keeps its
115115
RUNAPI_WEBHOOK_SECRET="$(runapi listen --print-secret --callback-api-key-id token_abc123)"
116116
```
117117

118+
If that secret is exposed, rotate it without replacing the business API key:
119+
120+
```bash
121+
RUNAPI_WEBHOOK_SECRET="$(runapi listen --rotate-secret --callback-api-key-id token_abc123)"
122+
```
123+
124+
Rotation invalidates every active listener using the selected key. Update each local verifier, then restart those listeners.
125+
118126
## Troubleshooting
119127

120128
The skill usually tracks the newest CLI behavior. If a command, flag, or input field from this skill is unavailable, update the `runapi` binary first:

gemini-extension.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "runapi-cli",
3-
"version": "0.2.10",
3+
"version": "0.2.11",
44
"description": "RunAPI CLI skill for Claude Code, Codex, Gemini CLI, Cursor, and 50+ agents",
55
"skills": [
66
{

skills/runapi-cli/SKILL.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,14 @@ Startup output identifies the selected key by name, ID, and mask, prints the abs
140140
RUNAPI_WEBHOOK_SECRET="$(runapi listen --print-secret --callback-api-key-id token_abc123)"
141141
```
142142

143+
If the secret is exposed, rotate only the selected key's Listen Signing Secret:
144+
145+
```shell
146+
RUNAPI_WEBHOOK_SECRET="$(runapi listen --rotate-secret --callback-api-key-id token_abc123)"
147+
```
148+
149+
This invalidates every active listener using the selected key without rotating its business API credential. Update each local verifier with the printed secret, then restart those listeners.
150+
143151
Recovery rules:
144152

145153
- A committed ID owned by another member is not reusable. Run `runapi api-keys list --json`, select that member's key, and pass its ID explicitly. Update the one-line project config only when the project should adopt that member-specific selection.

0 commit comments

Comments
 (0)