10000 fix(claude-code): run post-install script after configuring MCP and r… · coder/registry@9e7ce39 · GitHub
[go: up one dir, main page]

Skip to content

Commit 9e7ce39

Browse files
fix(claude-code): run post-install script after configuring MCP and remove send-keys workaround (#130)
- needed to install MCP servers - workaround sucked --------- Co-authored-by: DevelopmentCats <christofer@coder.com>
1 parent 13a25ff commit 9e7ce39

File tree

2 files changed

+10
-22
lines changed

2 files changed

+10
-22
lines changed

registry/coder/modules/claude-code/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Run the [Claude Code](https://docs.anthropic.com/en/docs/agents-and-tools/claude
1414
```tf
1515
module "claude-code" {
1616
source = "registry.coder.com/coder/claude-code/coder"
17-
version = "1.3.0"
17+
version = "1.3.1"
1818
agent_id = coder_agent.example.id
1919
folder = "/home/coder"
2020
install_claude_code = true
@@ -88,7 +88,7 @@ resource "coder_agent" "main" {
8888
module "claude-code" {
8989
count = data.coder_workspace.me.start_count
9090
source = "registry.coder.com/coder/claude-code/coder"
91-
version = "1.1.0"
91+
version = "1.3.1"
9292
agent_id = coder_agent.example.id
9393
folder = "/home/coder"
9494
install_claude_code = true
@@ -107,7 +107,7 @@ Run Claude Code as a standalone app in your workspace. This will install Claude
107107
```tf
108108
module "claude-code" {
109109
source = "registry.coder.com/coder/claude-code/coder"
110-
version = "1.3.0"
110+
version = "1.3.1"
111111
agent_id = coder_agent.example.id
112112
folder = "/home/coder"
113113
install_claude_code = true

registry/coder/modules/claude-code/main.tf

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)
0