@@ -131,6 +131,11 @@ resource "coder_script" "claude_code" {
131131 npm install -g @anthropic-ai/claude-code@${ var . claude_code_version }
132132 fi
133133
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+
134139 # Run post-install script if provided
135140 if [ -n "${ local . encoded_post_install_script } " ]; then
136141 echo "Running post-install script..."
@@ -139,11 +144,6 @@ resource "coder_script" "claude_code" {
139144 /tmp/post_install.sh
140145 fi
141146
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-
147147 # Handle terminal multiplexer selection (tmux or screen)
148148 if [ "${ var . experiment_use_tmux } " = "true" ] && [ "${ var . experiment_use_screen } " = "true" ]; then
149149 echo "Error: Both experiment_use_tmux and experiment_use_screen cannot be true simultaneously."
@@ -167,14 +167,8 @@ resource "coder_script" "claude_code" {
167167 export LC_ALL=en_US.UTF-8
168168
169169 # 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\" "
171171
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
178172 fi
179173
180174 # Run with screen if enabled
@@ -209,15 +203,9 @@ resource "coder_script" "claude_code" {
209203
210204 screen -U -dmS claude-code bash -c '
211205 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"
213207 exec bash
214208 '
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"
221209 else
222210 # Check if claude is installed before running
223211 if ! command_exists claude; then
0 commit comments