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