Originally created by: kumaakh
credential_store_set always triggers an OOB dialog for the secret value, even when called on an existing credential name. There is no way to update non-sensitive metadata fields (members, ttl_seconds, network_policy) without re-entering the full secret.
Current user experience to fix a wrong members list:
credential_store_set with the same name and corrected membersThis creates significant friction for corrections and updates, especially for long or complex secrets.
Add a credential_store_update tool that updates only non-sensitive metadata fields, leaving the encrypted value unchanged:
// New tool: credential_store_update
{
name: string; // required — identifies which credential to update
members?: string; // optional — new member scope ("*" or comma-separated)
ttl_seconds?: number; // optional — new TTL (null to remove expiry)
network_policy?: 'allow' | 'deny' | 'confirm'; // optional
}
No OOB dialog — the secret value is never touched. Only the listed fields are updated; unspecified fields retain their current values.
Error cases:
credential_store_set (unchanged)credential_store_set retains its current behaviour: always prompts OOB, always does a full overwrite. It remains the right tool for initial creation and for rotating the secret value itself.
# Created with wrong members
credential_store_set name=db_password members="alice"
# Fix members without re-entering the password
credential_store_update name=db_password members="alice,bob"
# Add a TTL retroactively
credential_store_update name=db_password ttl_seconds=86400
Originally posted by: kumaakh
Addressed in PR [#183] (sprint/session-lifecycle-oob-fix → main).
Changes shipped: credential_store_update tool added — update credential metadata without re-entering the secret.
PR is open for testing — will be merged once testing is complete.
Related
Tickets:
#183Ticket changed by: kumaakh