@@ -131,6 +131,11 @@ resource "coder_script" "claude_code" {
131
131
npm install -g @anthropic-ai/claude-code@${ var . claude_code_version }
132
132
fi
133
133
134
+ if [ "${ var . experiment_report_tasks } " = "true" ]; then
135
+ echo "Configuring Claude Code to report tasks via Coder MCP..."
136
+ coder exp mcp configure claude-code ${ var . folder }
137
+ fi
138
+
134
139
# Run post-install script if provided
135
140
if [ -n "${ local . encoded_post_install_script } " ]; then
136
141
echo "Running post-install script..."
@@ -139,11 +144,6 @@ resource "coder_script" "claude_code" {
139
144
/tmp/post_install.sh
140
145
fi
141
146
142
- if [ "${ var . experiment_report_tasks } " = "true" ]; then
143
- echo "Configuring Claude Code to report tasks via Coder MCP..."
144
- coder exp mcp configure claude-code ${ var . folder }
145
- fi
146
-
147
147
# Handle terminal multiplexer selection (tmux or screen)
148
148
if [ "${ var . experiment_use_tmux } " = "true" ] && [ "${ var . experiment_use_screen } " = "true" ]; then
149
149
echo "Error: Both experiment_use_tmux and experiment_use_screen cannot be true simultaneously."
@@ -167,14 +167,8 @@ resource "coder_script" "claude_code" {
167
167
export LC_ALL=en_US.UTF-8
168
168
169
169
# Create a new tmux session in detached mode
170
- tmux new-session -d -s claude-code -c ${ var . folder } "claude --dangerously-skip-permissions"
170
+ tmux new-session -d -s claude-code -c ${ var . folder } "claude --dangerously-skip-permissions \"$CODER_MCP_CLAUDE_TASK_PROMPT\" "
171
171
172
- # Send the prompt to the tmux session if needed
173
- if [ -n "$CODER_MCP_CLAUDE_TASK_PROMPT" ]; then
174
- tmux send-keys -t claude-code "$CODER_MCP_CLAUDE_TASK_PROMPT"
175
- sleep 5
176
- tmux send-keys -t claude-code Enter
177
- fi
178
172
fi
179
173
180
174
# Run with screen if enabled
@@ -209,15 +203,9 @@ resource "coder_script" "claude_code" {
209
203
210
204
screen -U -dmS claude-code bash -c '
211
205
cd ${ var . folder }
212
- claude --dangerously-skip-permissions | tee -a "$HOME/.claude-code.log"
206
+ claude --dangerously-skip-permissions "$CODER_MCP_CLAUDE_TASK_PROMPT" | tee -a "$HOME/.claude-code.log"
213
207
exec bash
214
208
'
215
- # Extremely hacky way to send the prompt to the screen session
216
- # This will be fixed in the future, but `claude` was not sending MCP
217
- # tasks when an initial prompt is provided.
218
- screen -S claude-code -X stuff "$CODER_MCP_CLAUDE_TASK_PROMPT"
219
- sleep 5
220
- screen -S claude-code -X stuff "^M"
221
209
else
222
210
# Check if claude is installed before running
223
211
if ! command_exists claude; then
0 commit comments