Skip to content

Commit 03d91ff

Browse files
TeigenTeigen
authored andcommitted
feat: add thinking effort setting for new sessions
Allow configuring CLAUDE_CODE_EFFORT_LEVEL (low/medium/high/max) from Settings → Claude Permissions. Applied as envOverride on session creation.
1 parent 6280998 commit 03d91ff

3 files changed

Lines changed: 17 additions & 0 deletions

File tree

src/web/public/index.html

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1095,6 +1095,17 @@ <h3>App Settings</h3>
10951095
</label>
10961096
<span class="form-hint">Use 1M token context window (model: opus[1m]) for all new sessions</span>
10971097
</div>
1098+
<div class="form-row">
1099+
<label>Thinking Effort</label>
1100+
<select id="appSettingsThinkingEffort" class="form-select">
1101+
<option value="">Default</option>
1102+
<option value="low">Low</option>
1103+
<option value="medium">Medium</option>
1104+
<option value="high">High</option>
1105+
<option value="max">Max</option>
1106+
</select>
1107+
<span class="form-hint">Set CLAUDE_CODE_EFFORT_LEVEL for all new sessions (default = no override)</span>
1108+
</div>
10981109
<!-- Nice Priority Section -->
10991110
<div class="form-section-header">Nice Priority</div>
11001111
<div class="form-row form-row-switch">

src/web/public/session-ui.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,10 @@ Object.assign(CodemanApp.prototype, {
323323
if (caseSettings.agentTeams || globalSettings.agentTeamsEnabled) {
324324
envOverrides.CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS = '1';
325325
}
326+
const thinkingEffort = globalSettings.thinkingEffort;
327+
if (thinkingEffort) {
328+
envOverrides.CLAUDE_CODE_EFFORT_LEVEL = thinkingEffort;
329+
}
326330
const hasEnvOverrides = Object.keys(envOverrides).length > 0;
327331
const useOpus1m = caseSettings.opusContext1m || globalSettings.opusContext1mEnabled;
328332
const modelOverride = useOpus1m ? 'opus[1m]' : '';

src/web/public/settings-ui.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,7 @@ Object.assign(CodemanApp.prototype, {
334334
// Claude Permissions settings
335335
document.getElementById('appSettingsAgentTeams').checked = settings.agentTeamsEnabled ?? false;
336336
document.getElementById('appSettingsOpusContext1m').checked = settings.opusContext1mEnabled ?? false;
337+
document.getElementById('appSettingsThinkingEffort').value = settings.thinkingEffort ?? '';
337338
// CPU Priority settings
338339
const niceSettings = settings.nice || {};
339340
document.getElementById('appSettingsNiceEnabled').checked = niceSettings.enabled ?? false;
@@ -1134,6 +1135,7 @@ Object.assign(CodemanApp.prototype, {
11341135
// Claude Permissions settings
11351136
agentTeamsEnabled: document.getElementById('appSettingsAgentTeams').checked,
11361137
opusContext1mEnabled: document.getElementById('appSettingsOpusContext1m').checked,
1138+
thinkingEffort: document.getElementById('appSettingsThinkingEffort').value,
11371139
// CPU Priority settings
11381140
nice: {
11391141
enabled: document.getElementById('appSettingsNiceEnabled').checked,

0 commit comments

Comments
 (0)