You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add hint and default optional fields to input options schema
- Add `hint` for UI guidance (placeholder text, input hints)
- Add `default` for declaring default values agents will use
- Update examples to demonstrate usage
- Add open question about whether both description and hint are needed
Co-Authored-By: Claude <[email protected]>
All option types support three optional metadata fields:
180
+
181
+
-**`description`** - Human-readable explanation of what the option does. Clients typically display this as help text or tooltips.
182
+
183
+
-**`hint`** - UI guidance for input fields. For text inputs, this is typically shown as placeholder text. For numeric inputs, it might describe valid ranges. For enums, it could explain how to choose between options.
184
+
185
+
-**`default`** - The value the agent will use if the client doesn't provide this option. Clients SHOULD pre-populate form fields with default values. Agents MUST use the declared default when an option is omitted.
186
+
187
+
All three fields are optional. Agents can declare options with just a type, or provide any combination of these metadata fields.
188
+
162
189
### Why JSON Schema subset instead of `select`/`text` types?
163
190
164
191
The existing [Session Config Options RFD](./session-config-options) uses `select` and `text` types because runtime selectors are primarily UI widgets - dropdowns and text fields.
@@ -284,6 +311,27 @@ Feedback welcome on which approach the community prefers.
284
311
285
312
No. Agents MUST handle missing options gracefully. Clients MAY not support input options UI. This is purely for discoverability and better UX.
286
313
314
+
### Should we have both `description` and `hint`, or just `description`?
315
+
316
+
This is an open question. The current proposal includes both:
317
+
318
+
-**`description`** - Explains what the option does (shown as help text/tooltip)
319
+
-**`hint`** - Provides input guidance (shown as placeholder text)
320
+
321
+
**Arguments for having both:**
322
+
- They serve different UI purposes: `description` is explanatory, `hint` is exemplary
323
+
- Matches common form patterns where labels/help text differ from placeholder text
324
+
- Allows "System prompt" (description) vs "You are a helpful assistant..." (hint)
325
+
326
+
**Arguments for just `description`:**
327
+
- Simpler schema with fewer fields to implement
328
+
- Clients can derive placeholder text from description if needed
329
+
- Less ambiguity about which field to use for what purpose
330
+
- Many options don't need both (e.g., boolean toggles, enum dropdowns)
331
+
332
+
Feedback welcome on whether the added complexity of `hint` is worth it.
333
+
287
334
## Revision history
288
335
336
+
- 2025-01-26: Added `hint` and `default` optional fields to schema
0 commit comments