1.0.72 works well among all my terminals in Windows and Linux without any hacks. So please forget the fix in this article and try 1.0.72!
for version 1.0.51 or newer, you can simply add a new environment variable with CLAUDE_CODE_GIT_BASH_PATH=C:\Program Files\git\bin\bash.exe using Edit environment variables for your account feature on windows.
However, I stick with v1.0.45 for now, as I noticed 1.0.51 no longer support paste image in gitbash, which is a pity!
I just noticed this hack only works with version 1.0.45, so please stick with version 1.0.45 for now until we found another hack :D
Claude Code fails in Git Bash with path errors like:
Error: /usr/bin/bash: line 1: C:UsersDavid.WeiAppDataLocalTemp/claude-shell-snapshot-6ea5: No such file or directory
Root cause: os.tmpdir() returns Windows paths, Git Bash expects Unix paths.
Solution: Patch the CLI directly with sed.
# Create ~/bin/c
#!/bin/bash
REAL_CLAUDE=$(which claude)
basedir=$(dirname "$REAL_CLAUDE")
case `uname` in
*CYGWIN*|*MINGW*|*MSYS*)
if command -v cygpath > /dev/null 2>&1; then
basedir=`cygpath -w "$basedir"`
fi
;;
esac
CLAUDE_DIR="$basedir/node_modules/@anthropic-ai/claude-code"
CLI_FILE="$CLAUDE_DIR/cli.js"
BACKUP_FILE="$CLI_FILE.original"
# Backup once
if [ ! -f "$BACKUP_FILE" ]; then
cp "$CLI_FILE" "$BACKUP_FILE"
fi
# Patch and run
cp "$BACKUP_FILE" "$CLI_FILE"
sed -i 's/\b\w\+\.tmpdir()/\"\/tmp\"/g' "$CLI_FILE"
cd "$CLAUDE_DIR"
exec node "cli.js" "$@"
chmod +x ~/bin/c
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
Now works:
c doctor
c --version
The regex catches minified variable names. Patches fresh every run, so updates don't break it.
Can't paste images to Claude Code in your Linux terminal? Here's a one-minute fix for Kitty users.
The Fix
1. Create the script (~/bin/clip2path):
#!/usr/bin/env bash
set -e
if [ -n "$WAYLAND_DISPLAY" ]; then
types=$(wl-paste --list-types)
if grep -q '^image/' <<<"$types"; then
ext=$(grep -m1 '^image/' <<<"$types" | cut -d/ -f2 | cut -d';' -f1)
file="/tmp/clip_$(date +%s).${ext}"
wl-paste > "$file"
printf '%q' "$file" | kitty @ send-text --stdin
else
wl-paste --no-newline | kitty @ send-text --stdin
fi
elif [ -n "$DISPLAY" ]; then
types=$(xclip -selection clipboard -t TARGETS -o)
if grep -q '^image/' <<<"$types"; then
ext=$(grep -m1 '^image/' <<<"$types" | cut -d/ -f2 | cut -d';' -f1)
file="/tmp/clip_$(date +%s).${ext}"
xclip -selection clipboard -t "image/${ext}" -o > "$file"
printf '%q' "$file" | kitty @ send-text --stdin
else
xclip -selection clipboard -o | kitty @ send-text --stdin
fi
fi
2. Make executable:
chmod +x ~/bin/clip2path
3. Add to ~/.config/kitty/kitty.conf:
allow_remote_control yes
listen_on unix:/tmp/kitty-socket
map ctrl+v launch --type=background --allow-remote-control --keep-focus ~/bin/clip2path
4. Install dependencies:
# X11 users only
sudo apt install xclip
5. Restart Kitty
6. Setup automatic cleanup (optional):
# Add to crontab to clean old screenshots daily
(crontab -l 2>/dev/null; echo "0 3 * * * find /tmp -name 'clip_*' -type f -mtime +1 -delete") | crontab -
Now Ctrl+V automatically saves clipboard images as temp files and pastes their paths. Works on both Wayland and X11.
这里记录我的一周分享,通常在周六发布。
赞声与骂声,都不要在意,而要在乎自己能不能做好。把自己做好,就没有问题。
一位印度程序员2023年评论道: "有时我对 ChatGPT 的理解能力感到惊讶,但是更多时候,我不得不拼命推动它,朝着我想要的方向前进。它有时会产生意料之外的结果,让我感到非常沮丧。"
"它像一个吸收了所有人类知识、但需要别人帮忙才能把这些知识串起来的应届毕业生。"
"看来我今年的工作是安全的。但是,我需要好好学习 ChatGPT,精通它的使用,让我明年也是安全的。"
(Claude 比 ChatGPT 厉害得多,但其200k的上下文还是有点小)
…more
这里记录我的一周分享,通常在周六发布。
西瓦 “更令人担心的是,还有很多人没有看清问题的本质。实际上,教育的目的与升学率和考试分数无关,教育的目的是帮助人们收获人生的果实,教育的责任是挖掘人的潜力,教育的使命是提升人的尊严。”
heepst @heepst.bsky.social
Uh-oh.
There's a saying in the Baltic region - it's one of those dark jokes with at least a kernel of truth - that you don't need to start worrying until the Kremlin denies it.
(扶额.
波罗的海地区有句老话——既是黑色幽默又颇真实:“不用太早担心,除非克里姆林宫开始否认这件事”)
Shi De Sheng 人在疲惫的时候,什么事都做不成。精神和身体保持健康状态,才是一切的开始。
生命是一次又一次的循环。好好吃饭,好好睡觉,认真记录,就是对生命最隆重的赞美。
归根结底人生有两条路:要么销售,要么创造。
不被爱只是不走运,而不会爱是种不幸。–阿尔贝·加缪《局外人》
生命的意义不在于发现自我,而在于塑造自我。这的确是两回事。
人们会忘记你说过的话,会忘记你做过的事,但永远不会忘记你带给他们的感受。
“爱是这样一种状态:另一个人的幸福对你自己的幸福至关重要。” ― Robert A. Heinlein。
https://shidesheng.wordpress.com/2025/06/08/2025年5月/
…more
This post is out-dated. Claude code has now officially supported GitBash, see https://docs.anthropic.com/en/docs/claude-code/setup for detail.
Got a Windows dev VM where you can't install WSL? Here's how to get Claude Code working with just Git Bash.
The Fix
Add these to your .bashrc:
export NPM_CONFIG_IGNORE_SCRIPTS=true
export SHELL=/c/Program\ Files/Git/bin/bash.exe
Then:
source ~/.bashrc
npm install -g @anthropic-ai/claude-code
Done.
Why It Works
Git Bash provides enough Unix-like environment for Claude Code. The SHELL export tells it where to find bash, and NPM_CONFIG_IGNORE_SCRIPTS prevents install script issues.
Caveats
This is a workaround, not official support. Works fine in my vm, let me know if it also works on your machine!
Tested on Windows Server 2022 with Git for Windows 2.50.0.windows.1