جدول المحتويات
ثبّتّ Claude Code، لكن عند كتابة claude في الطرفية تظهر لك هذه الرسالة — هل يبدو الأمر مألوفًا؟
zsh: command not found: claude # macOS
bash: claude: command not found # Linux
'claude' is not recognized as an internal or external command # Windows CMD
claude : The term 'claude' is not recognized as the name of a cmdlet # PowerShell
يعني هذا الخطأ «تعذّر العثور على الملف التنفيذي claude»، والسبب في الغالب هو «أن مجلد التثبيت غير مُدرَج في PATH». غالبًا ما يكون التثبيت نفسه قد نجح — الطرفية فقط لا تعرف أين تبحث. يغطي هذا المقال طرق التثبيت ومواقعه، وكيفية إصلاح PATH، والتعارض بين عمليات تثبيت متعددة، والمزالق الخاصة بنظام Windows، والتحديث — بعد مطابقته مع الوثائق الرسمية حتى 29 سبتمبر 2026.
النقاط الأساسية أولًا. (1) command not found يكون في الغالب مجرد «أن ~/.local/bin (مجلد التثبيت) غير مُدرَج في PATH» — أضِفه وأعد تشغيل الطرفية فيعمل. (2) خطأ صلاحيات npm (EACCES) يجب ألا يُصلَّح باستخدام sudo — بل انتقل إلى المثبّت الأصلي بدلًا من ذلك. (3) عند التعثّر، شغّل claude doctor — فهو يفحص سلامة التثبيت والإعدادات ونتيجة التحديث معًا. تتغير الأوامر الدقيقة والقيم الافتراضية بحسب الإصدار، لذا تأكّد من الأحدث في الوثائق الرسمية.
ابحث عن رسالتك
| ما تراه | أين | القسم |
|---|---|---|
zsh: command not found: claudebash: claude: command not found | macOS / Linux | §3 |
'claude' is not recognized as an internal or external commandclaude : The term 'claude' is not recognized as the name of a cmdlet | CMD و PowerShell في Windows | §3، §4 |
Native installation exists but ~/.local/bin is not in your PATH | claude doctor، وأسفل حقل الإدخال | §3 |
Failed to run Claude Code: Error: Could not locate the Claude CLI on PATH | VS Code على Windows | §4 |
'claude' is not recognized مباشرةً بعد تحديث | Windows | §4 |
Auto-update failed · Run claude doctor | منطقة الحالة في جلسة قيد التشغيل | §5 |
مثبَّت، ومع ذلك لا يُعثَر عليه
— مجلد التثبيت فقط ليس في PATH
الملف الثنائي موجود فعلًا. إنما PATH الخاص بالطرفية لا يُدرِج موقعه فحسب.
لذا فالحل هو «إضافة سطر واحد إلى PATH» — عادةً في أقل من دقيقة.
1. ماذا يخبرك هذا الخطأ فعليًا
عند كتابة أمر ما، تقوم الطرفية (zsh / bash / PowerShell) بالبحث في المجلدات المدرَجة في متغيّر البيئة PATH بالترتيب وتشغّل أول ملف تنفيذي مطابق. تعني command not found: claude أن أيًّا من تلك المجلدات لم يحتوِ على claude.
الأمر المهم: هذا لا يعني بالضرورة أن التثبيت قد فشل. يضع المثبّت الأصلي claude في ~/.local/bin (في Windows: %USERPROFILE%\.local\bin)، لكن إذا كان ذلك المجلد غير مُدرَج في PATH، فالملف الثنائي موجود ومع ذلك تعجز الطرفية عن العثور عليه. لذا تُحَلّ معظم الحالات عبر «إضافة سطر واحد إلى PATH وإعادة تشغيل الطرفية». قبل الاشتباه في فشل التثبيت، شغّل ls ~/.local/bin/claude للتحقق من وجود الملف الثنائي.
في Windows، يؤدي «اختيار الطرفية الخاطئة» لأمر التثبيت (مثل تشغيل أمر PowerShell في CMD) إلى أخطاء مختلفة — يُغطّى ذلك في §4. أولًا، لنحدّد طرق التثبيت ومواقعه الصحيحة.
2. طرق التثبيت ومكان وجود الملف الثنائي
إليك طرق التثبيت المذكورة في صفحة الإعداد الرسمية حتى 29 سبتمبر 2026، ومكان استقرار الملف الثنائي (المثبّت الأصلي هو المُوصى به).
| الطريقة | الأمر (الصيغة) | الموقع / ملاحظة |
|---|---|---|
| الأصلي (موصى به) mac/Linux/WSL | curl -fsSL https://claude.ai/install.sh | bash | ~/.local/bin/claude. تحديث تلقائي |
| الأصلي (موصى به) Windows PowerShell | irm https://claude.ai/install.ps1 | iex | %USERPROFILE%\.local\bin\claude.exe. تحديث تلقائي |
| الأصلي (موصى به) Windows CMD | curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd | الموقع نفسه كما في PowerShell |
| npm | npm install -g @anthropic-ai/claude-code | Node.js 22+ (منذ v2.1.198). يُثبّت الملف الثنائي الأصلي نفسه |
| Homebrew (mac) | brew install --cask claude-code | لا تحديث تلقائي → brew upgrade claude-code (ويتتبّع الـ cask claude-code@latest كل إصدار) |
| WinGet (Windows) | winget install Anthropic.ClaudeCode | لا تحديث تلقائي → winget upgrade Anthropic.ClaudeCode |
| apt / dnf / apk (Linux) | مستودعات موقّعة لـ Debian وFedora وRHEL وAlpine | لا تحديث تلقائي → حدّث عبر مدير الحزم |
الخلاصة: المثبّت الأصلي مُوصى به رسميًا. تُثبّت نسخة npm الملف الثنائي الأصلي نفسه. ومنذ الإصدار v2.1.198 تتطلب حزمة npm Node.js 22 أو أحدث، لكن مع Node.js أقدم يكتفي npm بعرض تحذير EBADENGINE ويكتمل التثبيت رغم ذلك (لا يستخدم الملف الثنائي Node عند التشغيل). طريق npm أكثر عرضةً لمشاكل الصلاحيات وPATH، لذا إن كنت تثبّت من جديد فالأصلي هو الخيار الآمن. لاحِظ أن تثبيت امتداد VS Code فقط يُضمّن واجهة سطر أوامر خاصة داخل الامتداد، ولا يُضيف claude إلى PATH — إن أردت claude في الطرفية، فثبّته على حدة.
3. الأسباب الرئيسية وحلولها
إليك الأسباب الشائعة حول command not found، مقرونةً بحلولها.
المحرّكات الرئيسية للتثبيت / PATH
~/.local/bin خارج PATH. أضِف export PATH="$HOME/.local/bin:$PATH" إلى ~/.zshrc/~/.bashrc وأعد تشغيل الطرفية.sudo npm (غير موصى به رسميًا). الانتقال إلى المثبّت الأصلي هو الحل الأسرع والأكثر أمانًا.EBADENGINE. هذا ليس سبب عدم العثور على claude — افحص PATH أولًا.which -a claude (في Win: where.exe claude) وأبقِ على النسخة الأصلية فقط.Error: claude native binary not installed. أن التبعية الاختيارية أو خطوة postinstall قد تُخطّيت. أعد التثبيت دون --omit=optional / --ignore-scripts.
عند الشك، فإن «إعادة التثبيت عبر المثبّت الأصلي» تحلّ معظم هذه المشكلات —
إذ تتجاوز مشاكل الصلاحيات وNode والتعارض دفعةً واحدة.
إصلاح ملموس لـ PATH (في macOS zsh): echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc ثم source ~/.zshrc. في Linux bash، افعل الشيء نفسه في ~/.bashrc؛ ومع bash على macOS استخدم ~/.bash_profile (تُشغّل Terminal الـ bash كصدفة تسجيل دخول لا تقرأ ~/.bashrc). وفي Windows PowerShell أضِف المجلد إلى PATH الخاص بالمستخدم عبر [Environment]::SetEnvironmentVariable('PATH', "$([Environment]::GetEnvironmentVariable('PATH', 'User'));$env:USERPROFILE\.local\bin", 'User'). بعد التغيير، افتح طرفية جديدة وتحقّق عبر claude --version.
«Native installation exists but ~/.local/bin is not in your PATH»
يظهر هذا التحذير في مخرجات claude doctor (تحت «Installation warnings») وأسفل حقل الإدخال. ونصّه كما اقتبسه المستخدمون في مشكلات GitHub الرسمية:
Native installation exists but ~/.local/bin is not in your PATH
Run: echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc then open a new terminal or run: source ~/.zshrc
معناه أن الملف الثنائي الأصلي موجود في ~/.local/bin، لكن هذا المجلد غير موجود في PATH الذي يراه Claude Code. والإصلاح هو المذكور أعلاه: أضِف السطر إلى ملف إعدادات صدفتك وافتح طرفية جديدة. إن كان echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin" يعرض المجلد بالفعل في طرفية جديدة وما زال التحذير يظهر، فأنت أمام حالة مُبلَّغ عنها على GitHub (#63695: ضُبط PATH في ~/.zshenv فقط وجرى التشغيل من طرفية VS Code؛ #75431: claude مُثبّت في مكان آخر). وقد أُغلقت كلتاهما دون إصلاح حتى 29 سبتمبر 2026. إن كان claude --version يعمل في طرفية جديدة، فالتثبيت نفسه سليم.
4. مزالق خاصة بنظام Windows
في Windows، يكون الفشل الكلاسيكي هو تشغيل أمر التثبيت في «الطرفية الخاطئة». ويخبرك الخطأ بنوع الخلط الذي حدث.
كيف تكتشف الخلط بين الطرفيات
| الخطأ | المعنى والحل |
|---|---|
'irm' is not recognized as an internal or external command | شغّلت أمر PowerShell في CMD → افتح PowerShell وشغّل irm https://claude.ai/install.ps1 | iex، أو استخدم مثبّت CMD |
The token '&&' is not a valid statement separator | شغّلت أمر CMD في PowerShell → استخدم مثبّت PowerShell |
A parameter cannot be found that matches parameter name 'fsSL' | شغّلت أمر curl الخاص بـ macOS/Linux في PowerShell (حيث curl اسم بديل لـ Invoke-WebRequest) → استخدم مثبّت PowerShell |
'bash' is not recognized as the name of a cmdlet | شغّلت مثبّت Linux على Windows → استخدم مثبّت PowerShell |
ملاحظات أخرى خاصة بـ Windows: (1) أعد تشغيل الطرفية بعد التثبيت (يسري تغيير PATH في طرفية جديدة). (2) قد يجعل تطبيق Claude Desktop قديم سجّل WindowsApps\Claude.exe الأمرَ claude يُشغّل تطبيق سطح المكتب بدلًا من واجهة سطر الأوامر — حدّث Claude Desktop. (3) Git for Windows اختياري: من دونه يُشغّل Claude Code الأوامر عبر أداة PowerShell الخاصة به. وإن كان Git مُثبّتًا ولم يُعثَر على Git Bash، فوجّه CLAUDE_CODE_GIT_BASH_PATH في الإعدادات إلى bash.exe لديك. كما أن التشغيل عبر WSL خيار وارد.
VS Code: «Could not locate the Claude CLI on PATH»
يعرض امتداد VS Code هذا الخطأ على Windows حين تفتح Claude Code في الطرفية المدمجة وتكون صدفتها PowerShell ولا يجد الامتداد claude المُثبّت في PATH. تبدأ الرسالة هكذا:
Failed to run Claude Code: Error: Could not locate the Claude CLI on PATH.
يمنع الامتداد التشغيل لأن استدعاء claude بالاسم في PowerShell قد يُشغّل claude موجودًا في المجلد المفتوح بدلًا من واجهة سطر الأوامر المُثبّتة. (1) افتح نافذة PowerShell جديدة خارج VS Code وشغّل where.exe claude؛ فإن لم يظهر شيء، أضِف مجلد التثبيت إلى PATH كما في §3. (2) ضع مُدخَل PATH في متغيّر بيئة للمستخدم أو للنظام، لا في ملف تعريف PowerShell وحده (فالامتداد لا يُشغّل ملف التعريف). (3) أعد تشغيل VS Code، لأنه لا يقرأ PATH إلا عند بدء التشغيل.
«'claude' is not recognized» مباشرةً بعد تحديث
عند التحديث على Windows، يعيد Claude Code تسمية claude.exe الحالي إلى نسخة احتياطية باسم claude.exe.old. متبوعًا بطابع زمني، ثم يضع الإصدار الجديد مكانه. فإن فشل النقل وتعذّر التراجع عن إعادة التسمية، بقيت النسخة الاحتياطية في %USERPROFILE%\.local\bin من دون claude.exe. استعِد أحدث نسخة احتياطية في PowerShell:
Get-ChildItem "$env:USERPROFILE\.local\bin\claude.exe.old.*" | Sort-Object Name | Select-Object -Last 1 | Rename-Item -NewName claude.exe
ثم تحقّق عبر claude --version. وإن لم يوجد أي ملف claude.exe.old.*، فأعد التثبيت عبر irm https://claude.ai/install.ps1 | iex. ومنذ v2.1.281 يستعيد التحديث الفاشل الملف التنفيذي المحفوظ تلقائيًا.
5. التحديث التلقائي والتحديث اليدوي
تُحدَّث عمليات التثبيت الأصلية تلقائيًا في الخلفية ويسري ذلك عند التشغيل التالي. للتحديث يدويًا استخدم claude update؛ ولإعادة التثبيت/تثبيت إصدار معيّن استخدم claude install <version> (يقبل أيضًا stable / latest). تعرض claude doctor نتيجة آخر محاولة تحديث. لا تُحدَّث عمليات التثبيت عبر Homebrew وWinGet وapt وdnf وapk تلقائيًا افتراضيًا؛ وفي Homebrew وWinGet يكفي ضبط CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1 ليُشغّل Claude Code الترقية نيابةً عنك.
عندما يفشل التحديث التلقائي في تثبيت npm
إذا كان مجلد npm العام غير قابل للكتابة، يفشل التحديث التلقائي. يسرد claude doctor الحلول، والحل الجذري هو الانتقال إلى تثبيت أصلي. ولمجرّد إيقاف التحديث التلقائي، اضبط DISABLE_AUTOUPDATER في env ضمن الإعدادات (تبقى التحديثات اليدوية تعمل)؛ ولحظر جميع التحديثات، اضبط DISABLE_UPDATES.
«Auto-update failed · Run claude doctor»
عندما تفشل محاولة تحديث في الخلفية، تعرض الجلسة قيد التشغيل ذلك في منطقة الحالة. تقتبس مشكلات GitHub صيغتين: Auto-update failed · Run claude doctor (من v2.1.220 إلى v2.1.278)، وAuto-update failed · Try claude doctor or npm i -g @anthropic-ai/claude-code في تثبيتات npm لإصدارات أقدم. عالِجها بهذا الترتيب:
- شغّل
claude doctorفي طرفية — يعرض نتيجة آخر محاولة تحديث وأي تحذيرات تثبيت. - شغّل
claude updateلتطبيق التحديث الآن. يطبعSuccessfully updated from <old version> to version <new version>، أوClaude Code is up to date (<version>)إن لم يكن هناك تحديث معلّق. - إن كنت على أحدث إصدار بالفعل، فالفشل كان مؤقتًا (كانقطاع الشبكة مثلًا). وبحسب مشكلات GitHub (#89286، #96038) قد يبقى التنبيه ظاهرًا حتى إعادة تشغيل الجلسة.
- في تثبيت npm عام لا يمكن الكتابة في مجلده، لا يمكن للتحديث التلقائي أن يعمل — انتقل إلى المثبّت الأصلي (انظر الإطار أعلاه).
- إن تكرّر الفشل على شبكة شركة، فتحقّق من إمكانية الوصول إلى
downloads.claude.ai.
6. سير عمل التشخيص
عندما يكون السبب غير واضح، تقدّم من الأعلى إلى الأسفل. تُحلّ معظم الحالات بحلول الخطوة 3.
اعزل المشكلة من الأعلى إلى الأسفل
claude doctor (من الطرفية إن لم يبدأ التشغيل) لفحص سلامة التثبيت.which -a claude / where.exe claude لمعرفة أين وكم نسخة مثبّتة (هل هناك تعارض؟).~/.local/bin إلى PATH وأعد تشغيل الطرفية.
القاعدة: «هل الملف الثنائي موجود → هل هو في PATH → هل هناك تعارض؟» بهذا الترتيب.
عند التعثّر، تكون إعادة التثبيت الأصلي هي الملاذ الأخير الموثوق.
الخلاصة
إن الخطأ «command not found: claude» في Claude Code يكون في معظم الحالات مجرّد «أن مجلد التثبيت (~/.local/bin) غير مُدرَج في PATH». الملف الثنائي موجود، لذا أضِف سطرًا واحدًا إلى PATH وأعد تشغيل الطرفية فيعمل. للتثبيت، المثبّت الأصلي هو المُوصى به (تطلب نسخة npm وجود Node.js 22+ ولها مزالق أكثر في الصلاحيات/PATH). أما خطأ EACCES في npm فينبغي إصلاحه بالانتقال إلى الأصلي، لا باستخدام sudo.
شخّص عبر (1) claude doctor -> (2) which -a claude / where.exe claude للتحقق من التعارض -> (3) إضافة ~/.local/bin إلى PATH -> (4) حذف النسخ الزائدة -> (5) إعادة التثبيت الأصلي. في Windows، انتبه إلى الخلط بين الطرفيات (مثل irm في CMD)، وضرورة إعادة تشغيل الطرفية، وتعارض Claude Desktop القديم مع Claude.exe. حدّث عبر claude update / claude install، وأوقِف التحديث التلقائي بـ DISABLE_AUTOUPDATER. عند التعثّر، تكون إعادة التثبيت الأصلي هي الحل الموثوق. ذو صلة: مجموعة أخطاء Claude Code، أخطاء المصادقة / تسجيل الدخول.
الأسئلة الشائعة
Q. ثبّتُّه، لكن تظهر لي command not found: claude.
A. على الأرجح أن مجلد التثبيت غير مُدرَج في PATH لديك. تحقّق أولًا من وجود الملف الثنائي عبر ls ~/.local/bin/claude (في Windows: %USERPROFILE%\.local\bin)؛ فإن كان موجودًا، أضِف export PATH="$HOME/.local/bin:$PATH" إلى ~/.zshrc/~/.bashrc ثم افتح طرفية جديدة. غالبًا ما يكون التثبيت نفسه قد نجح.
Q. npm install -g يفشل بخطأ صلاحيات (EACCES).
A. لا تستخدم sudo npm (غير موصى به رسميًا؛ فهو يستجلب مشاكل الصلاحيات والأمان). أسرع مسار وأكثره أمانًا هو الانتقال إلى المثبّت الأصلي (في mac/Linux: curl -fsSL https://claude.ai/install.sh | bash). النسخة الأصلية خالية من مزالق الصلاحيات ولا تحتاج إلى Node. يمكنك أيضًا نقل البادئة العامة لـ npm إلى مجلد قابل للكتابة من المستخدم، لكن التوصية الرسمية هي الأصلي.
Q. لديّ عمليات تثبيت متعددة لـ claude وتعمل نسخة قديمة.
A. شغّل which -a claude (في Windows: where.exe claude) لرؤية كل نسخ claude على PATH. قد يكون لديك خليط من npm-global وHomebrew وWinGet والأصلي. أبقِ على النسخة الأصلية (~/.local/bin) واحذف البقية (مثل npm uninstall -g @anthropic-ai/claude-code) للوصول إلى نسخة تثبيت واحدة.
Q. في Windows، كتابة claude تفتح تطبيق سطح المكتب.
A. سجّل Claude Desktop قديم المسارَ WindowsApps\Claude.exe، وهو يأخذ أولوية في PATH على واجهة سطر الأوامر. حدّث Claude Desktop لحلّ المشكلة. كذلك، إن لم يُعثَر عليه أو ظهر إصدار قديم بعد تشغيل مثبّت PowerShell، أعد تشغيل الطرفية ليسري تغيير PATH.
Q. التحديثات لا تعمل / أريد إيقافها.
A. تُحدَّث عمليات التثبيت الأصلية تلقائيًا في الخلفية ويسري ذلك عند التشغيل التالي. يدويًا، استخدم claude update؛ ولإعادة التثبيت/التثبيت على إصدار، claude install <version>. إن ظهر Auto-update failed · Run claude doctor، فشغّل claude doctor ثم claude update؛ وإن أفاد بأنك على أحدث إصدار، يختفي التنبيه بإعادة تشغيل الجلسة. إن فشل التحديث التلقائي في تثبيت npm عام، فهي مشكلة صلاحيات كتابة — اتّبع claude doctor وانتقل إلى الأصلي. لإيقاف التحديث التلقائي، اضبط DISABLE_AUTOUPDATER في env ضمن الإعدادات؛ ولحظر جميع التحديثات، اضبط DISABLE_UPDATES.