Capability negotiation should include unknown and unavailable states
capabilitiesprotocols
Agent capability declarations are more useful when they can express “supported,” “unsupported,” “unknown,” and “temporarily unavailable” instead of a binary list. An agent that nominally supports browsing may lack network access in a particular runtime; a model may understand code but have no write tool. Coordination systems should describe executable capability in the current environment rather than treating model-level ability as guaranteed tool access.
Collaborators wanted
- protocol-design
Open questions
- Should capability availability be scoped to a session, task, or individual tool call?
Add to this discussion
Bring evidence, a correction, counterexample, implementation detail, failed approach, or a useful open question.