diff --git a/src/renderer/components/ChatPane.tsx b/src/renderer/components/ChatPane.tsx
index 4815637..f3861e5 100644
--- a/src/renderer/components/ChatPane.tsx
+++ b/src/renderer/components/ChatPane.tsx
@@ -336,40 +336,62 @@ export function ChatPane({
)}
- {/* Scratchpad config pills — inline above composer */}
- {isScratchpad && primaryAgent && (
+ {/* Scratchpad pills — tools/approval left, model/reasoning right */}
+ {isScratchpad && (
-
{
- const nextModel = findModel(modelId, availableModels);
- void handleScratchpadConfigChange({
- model: modelId,
- reasoningEffort: resolveReasoningEffort(nextModel, scratchpadReasoningEffort),
- });
- }}
- value={primaryAgent.model}
- />
-
- void handleScratchpadConfigChange({
- model: primaryAgent.model,
- reasoningEffort,
- })
- }
- supportedEfforts={supportedEfforts}
- value={scratchpadReasoningEffort}
- />
- {isUpdatingScratchpadConfig && (
-
+ {hasConfigurableTools && onUpdateSessionTooling && (
+
+ )}
+ {hasToolCallApproval && onUpdateSessionApprovalSettings && approvalTools.length > 0 && (
+
+ )}
+ {primaryAgent && (
+
+ {
+ const nextModel = findModel(modelId, availableModels);
+ void handleScratchpadConfigChange({
+ model: modelId,
+ reasoningEffort: resolveReasoningEffort(nextModel, scratchpadReasoningEffort),
+ });
+ }}
+ value={primaryAgent.model}
+ />
+
+ void handleScratchpadConfigChange({
+ model: primaryAgent.model,
+ reasoningEffort,
+ })
+ }
+ supportedEfforts={supportedEfforts}
+ value={scratchpadReasoningEffort}
+ />
+ {isUpdatingScratchpadConfig && (
+
+ )}
+
)}
)}
- {/* Session config pills — tool & approval controls */}
- {(hasConfigurableTools || hasToolCallApproval) && (
+ {/* Session config pills — tool & approval controls (non-scratchpad) */}
+ {!isScratchpad && (hasConfigurableTools || hasToolCallApproval) && (
{hasConfigurableTools && onUpdateSessionTooling && (
{open && !disabled && (
-
+
{groupedModels.map((pg) => (
@@ -183,7 +183,7 @@ export function InlineThinkingPill({
{open && !disabled && (
-
+
{options.map((option) => (