From 13e1966052827ff2585761d8ea364b826a01428e Mon Sep 17 00:00:00 2001 From: 35C4n0r Date: Tue, 9 Dec 2025 22:42:49 +0530 Subject: [PATCH 1/7] chore(coder/modules/claude-code): use $HOME variable instead of hardcoded path in symlink creation --- registry/coder/modules/claude-code/scripts/install.sh | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/registry/coder/modules/claude-code/scripts/install.sh b/registry/coder/modules/claude-code/scripts/install.sh index ba4420fa3..db381b894 100644 --- a/registry/coder/modules/claude-code/scripts/install.sh +++ b/registry/coder/modules/claude-code/scripts/install.sh @@ -1,9 +1,5 @@ #!/bin/bash -if [ -f "$HOME/.bashrc" ]; then - source "$HOME"/.bashrc -fi - # Set strict error handling AFTER sourcing bashrc to avoid unbound variable errors from user dotfiles set -euo pipefail @@ -48,7 +44,7 @@ function install_claude_code_cli() { # Ensure binaries are discoverable. echo "Creating a symlink for claude" - sudo ln -s /home/coder/.local/bin/claude /usr/local/bin/claude + ln -s "${HOME}"/.local/bin/claude /usr/local/bin/claude echo "Installed Claude Code successfully. Version: $(claude --version || echo 'unknown')" else From 8766ec2dc94c5ed113d63e8c3eb18c1a4e4ebd1c Mon Sep 17 00:00:00 2001 From: 35C4n0r Date: Tue, 9 Dec 2025 23:25:33 +0530 Subject: [PATCH 2/7] fix: fix test path --- registry/coder/modules/claude-code/main.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/registry/coder/modules/claude-code/main.test.ts b/registry/coder/modules/claude-code/main.test.ts index 6e37501da..527bd1889 100644 --- a/registry/coder/modules/claude-code/main.test.ts +++ b/registry/coder/modules/claude-code/main.test.ts @@ -141,7 +141,7 @@ describe("claude-code", async () => { }); await execModuleScript(id); - const resp = await readFileContainer(id, "/home/coder/.claude.json"); + const resp = await readFileContainer(id, "$HOME/.claude.json"); expect(resp).toContain("test-cmd"); }); From d4e553e55aae7f71b0e10a853ad20583965fed9a Mon Sep 17 00:00:00 2001 From: 35C4n0r <70096901+35C4n0r@users.noreply.github.com> Date: Tue, 9 Dec 2025 23:52:35 +0530 Subject: [PATCH 3/7] revert --- registry/coder/modules/claude-code/main.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/registry/coder/modules/claude-code/main.test.ts b/registry/coder/modules/claude-code/main.test.ts index 527bd1889..6e37501da 100644 --- a/registry/coder/modules/claude-code/main.test.ts +++ b/registry/coder/modules/claude-code/main.test.ts @@ -141,7 +141,7 @@ describe("claude-code", async () => { }); await execModuleScript(id); - const resp = await readFileContainer(id, "$HOME/.claude.json"); + const resp = await readFileContainer(id, "/home/coder/.claude.json"); expect(resp).toContain("test-cmd"); }); From 973645f54c659087cf8a3c959497951ccfbcd3cb Mon Sep 17 00:00:00 2001 From: DevelopmentCats Date: Tue, 9 Dec 2025 14:01:35 -0600 Subject: [PATCH 4/7] chore(claude-code): update install script to include PATH export and remove symlink creation --- registry/coder/modules/claude-code/scripts/install.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/registry/coder/modules/claude-code/scripts/install.sh b/registry/coder/modules/claude-code/scripts/install.sh index db381b894..58c26ac3b 100644 --- a/registry/coder/modules/claude-code/scripts/install.sh +++ b/registry/coder/modules/claude-code/scripts/install.sh @@ -3,6 +3,9 @@ # Set strict error handling AFTER sourcing bashrc to avoid unbound variable errors from user dotfiles set -euo pipefail +# Ensure claude binary is in PATH +export PATH="$HOME/.local/bin:$PATH" + BOLD='\033[0;1m' command_exists() { @@ -42,10 +45,6 @@ function install_claude_code_cli() { echo "Claude Code installer failed with exit code $$CURL_EXIT" fi - # Ensure binaries are discoverable. - echo "Creating a symlink for claude" - ln -s "${HOME}"/.local/bin/claude /usr/local/bin/claude - echo "Installed Claude Code successfully. Version: $(claude --version || echo 'unknown')" else echo "Skipping Claude Code installation as per configuration." From d72b4efae0c3413844c10a1eff509aca9163ee3b Mon Sep 17 00:00:00 2001 From: 35C4n0r Date: Wed, 10 Dec 2025 16:57:28 +0530 Subject: [PATCH 5/7] revert if wrong --- registry/coder/modules/claude-code/main.tf | 6 ++++++ registry/coder/modules/claude-code/scripts/install.sh | 3 +-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/registry/coder/modules/claude-code/main.tf b/registry/coder/modules/claude-code/main.tf index bef2a219e..5edc742d9 100644 --- a/registry/coder/modules/claude-code/main.tf +++ b/registry/coder/modules/claude-code/main.tf @@ -288,6 +288,12 @@ resource "coder_env" "disable_autoupdater" { value = "1" } +resource "coder_env" "claude_binary_path" { + agent_id = var.agent_id + name = "PATH" + value = "$HOME/.local/bin:$PATH" +} + locals { # we have to trim the slash because otherwise coder exp mcp will # set up an invalid claude config diff --git a/registry/coder/modules/claude-code/scripts/install.sh b/registry/coder/modules/claude-code/scripts/install.sh index 58c26ac3b..702862b21 100644 --- a/registry/coder/modules/claude-code/scripts/install.sh +++ b/registry/coder/modules/claude-code/scripts/install.sh @@ -4,7 +4,7 @@ set -euo pipefail # Ensure claude binary is in PATH -export PATH="$HOME/.local/bin:$PATH" +#export PATH="$HOME/.local/bin:$PATH" BOLD='\033[0;1m' @@ -44,7 +44,6 @@ function install_claude_code_cli() { if [ $CURL_EXIT -ne 0 ]; then echo "Claude Code installer failed with exit code $$CURL_EXIT" fi - echo "Installed Claude Code successfully. Version: $(claude --version || echo 'unknown')" else echo "Skipping Claude Code installation as per configuration." From 722bb8e498e30e1998e6dca834162964f503c735 Mon Sep 17 00:00:00 2001 From: 35C4n0r Date: Wed, 10 Dec 2025 17:02:30 +0530 Subject: [PATCH 6/7] revert if wrong --- registry/coder/modules/claude-code/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/registry/coder/modules/claude-code/main.tf b/registry/coder/modules/claude-code/main.tf index 5edc742d9..7dafa9e3a 100644 --- a/registry/coder/modules/claude-code/main.tf +++ b/registry/coder/modules/claude-code/main.tf @@ -291,7 +291,7 @@ resource "coder_env" "disable_autoupdater" { resource "coder_env" "claude_binary_path" { agent_id = var.agent_id name = "PATH" - value = "$HOME/.local/bin:$PATH" + value = "$HOME/.local/jaykumar:$PATH" } locals { From eb08e448779fbf7fd12efa548d5cb612a0f86fee Mon Sep 17 00:00:00 2001 From: 35C4n0r Date: Wed, 10 Dec 2025 17:26:57 +0530 Subject: [PATCH 7/7] feat: add $HOME/.local/bin to PATH using coder_env --- registry/coder/modules/claude-code/main.tf | 6 +++--- registry/coder/modules/claude-code/scripts/install.sh | 4 ---- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/registry/coder/modules/claude-code/main.tf b/registry/coder/modules/claude-code/main.tf index 7dafa9e3a..8531a9f9a 100644 --- a/registry/coder/modules/claude-code/main.tf +++ b/registry/coder/modules/claude-code/main.tf @@ -289,9 +289,9 @@ resource "coder_env" "disable_autoupdater" { } resource "coder_env" "claude_binary_path" { - agent_id = var.agent_id - name = "PATH" - value = "$HOME/.local/jaykumar:$PATH" + agent_id = var.agent_id + name = "PATH" + value = "$HOME/.local/bin:$PATH" } locals { diff --git a/registry/coder/modules/claude-code/scripts/install.sh b/registry/coder/modules/claude-code/scripts/install.sh index 702862b21..15981e8b5 100644 --- a/registry/coder/modules/claude-code/scripts/install.sh +++ b/registry/coder/modules/claude-code/scripts/install.sh @@ -1,11 +1,7 @@ #!/bin/bash -# Set strict error handling AFTER sourcing bashrc to avoid unbound variable errors from user dotfiles set -euo pipefail -# Ensure claude binary is in PATH -#export PATH="$HOME/.local/bin:$PATH" - BOLD='\033[0;1m' command_exists() {