Panduan Lengkap Menjalankan Claude Code Gratis Menggunakan NVIDIA NIM (Edisi Mac & Linux)
Mencari cara menggunakan Claude Code gratis? Claude Code adalah asisten AI berbasis terminal yang sangat powerful dari Anthropic. Namun, secara default asisten ini membutuhkan langganan API Anthropic yang berbayar. Jangan khawatir, proyek open-source free-claude-code memecahkan masalah ini dengan menjadikannya sebagai proxy lokal yang merutekan request API Claude Code melalui NVIDIA NIM. NVIDIA NIM menawarkan platform AI gratis dengan kuota hingga 40 request per menit secara cuma-cuma!
Pada panduan ini, kita akan membahas pengaturan lengkapnya khusus untuk sistem operasi Mac dan Linux: mulai dari melakukan clone repository, mengatur model, mengatasi konflik port, hingga membuat sebuah alias fcc-claude agar asisten AI ini bisa dijalankan secara instan di folder proyek manapun.
Prasyarat Sistem
Sebelum memulai, pastikan perangkat keras Anda sudah terinstal aplikasi berikut:
- Node.js (Versi 22+): nodejs.org
- Python (Versi 3.14+): Bawaan sistem atau unduh di python.org
- Git: Sudah terinstal di Mac/Linux pada umumnya.
1. Instal Claude Code CLI:
curl -fsSL https://claude.ai/install.sh | bash
2. Instal uv (Python Package Manager):
curl -LsSf https://astral.sh/uv/install.sh | sh uv self update uv python install 3.14
Langkah 1 — Dapatkan API Key NVIDIA NIM
NVIDIA NIM menyediakan akses API gratis bagi program NVIDIA Developer dengan puluhan model open-source unggulan.
- Buka build.nvidia.com/settings/api-keys.
- Sign in atau buat akun NVIDIA Developer (gratis).
- Klik Generate API Key.
- Salin key tersebut. Formatnya diawali dengan
nvapi-(jangan potong atau hapus teks apapun).
Langkah 2 — Clone Repository
Buka Terminal (Bisa menggunakan bash atau zsh), lalu jalankan:
git clone https://github.com/Alishahryar1/free-claude-code.git cd free-claude-code
Langkah 3 — Konfigurasi File .env
Salin file template environment yang telah disediakan, kemudian buka menggunakan text editor (seperti Vi atau Vim):
cp .env.example .env vi .env
Ubah isinya menggunakan konfigurasi yang direkomendasikan di bawah ini:
# NVIDIA NIM Config NVIDIA_NIM_API_KEY="nvapi-your-key-is-here" # OpenRouter Config OPENROUTER_API_KEY="" # DeepSeek Config (uses native Anthropic Messages at api.deepseek.com/anthropic) DEEPSEEK_API_KEY="" # LM Studio Config (local provider, no API key required) LM_STUDIO_BASE_URL="http://localhost:1234/v1" # Llama.cpp Config (local provider, no API key required) LLAMACPP_BASE_URL="http://localhost:8080/v1" # Ollama Config (local provider, no API key required) OLLAMA_BASE_URL="http://localhost:11434" # All Claude model requests are mapped to these models, plain model is fallback # Format: provider_type/model/name # Valid providers: "nvidia_nim" | "open_router" | "deepseek" | "lmstudio" | "llamacpp" | "ollama" MODEL_OPUS= MODEL_SONNET= MODEL_HAIKU= MODEL="nvidia_nim/stepfun-ai/step-3.5-flash" # Optional live smoke model overrides. Provider smoke runs once per configured # provider even when MODEL/MODEL_* route to a different provider. FCC_SMOKE_MODEL_NVIDIA_NIM= FCC_SMOKE_MODEL_OPEN_ROUTER= FCC_SMOKE_MODEL_DEEPSEEK= FCC_SMOKE_MODEL_LMSTUDIO= FCC_SMOKE_MODEL_LLAMACPP= FCC_SMOKE_MODEL_OLLAMA= # Thinking output # Per-Claude-model switches for provider reasoning requests and Claude thinking blocks. # Blank per-model switches inherit ENABLE_MODEL_THINKING. ENABLE_OPUS_THINKING= ENABLE_SONNET_THINKING= ENABLE_HAIKU_THINKING= ENABLE_MODEL_THINKING=true # Provider config # Per-provider proxy support: http and socks5, example: "http://username:password@host:port" NVIDIA_NIM_PROXY="" OPENROUTER_PROXY="" LMSTUDIO_PROXY="" LLAMACPP_PROXY="" # Provider config — free tier is 40 req/min PROVIDER_RATE_LIMIT=40 PROVIDER_RATE_WINDOW=60 PROVIDER_MAX_CONCURRENCY=5 # Increase read timeout for thinking models (they take longer to start streaming) HTTP_READ_TIMEOUT=180 HTTP_WRITE_TIMEOUT=10 HTTP_CONNECT_TIMEOUT=2 # Auth token — Claude Code will send this to identify itself to the proxy ANTHROPIC_AUTH_TOKEN=ccnim # Messaging Platform: "telegram" | "discord" | "none" MESSAGING_PLATFORM="none" MESSAGING_RATE_LIMIT=1 MESSAGING_RATE_WINDOW=1 # Voice Note Transcription VOICE_NOTE_ENABLED=false # WHISPER_DEVICE: "cpu" | "cuda" | "nvidia_nim" # - "cpu"/"cuda": Hugging Face transformers Whisper (offline, free; install with: uv sync --extra voice_local) # - "nvidia_nim": NVIDIA NIM Whisper via Riva gRPC (requires NVIDIA_NIM_API_KEY; install with: uv sync --extra voice) # (Independent of MODEL=nvidia_nim/...: that selects the *chat* provider; this selects voice STT only.) WHISPER_DEVICE="nvidia_nim" # WHISPER_MODEL: # - For cpu/cuda: Hugging Face ID or short name (tiny, base, small, medium, large-v2, large-v3, large-v3-turbo) # - For nvidia_nim: NVIDIA NIM model (e.g., "nvidia/parakeet-ctc-1.1b-asr", "openai/whisper-large-v3") # - For nvidia_nim, default to "openai/whisper-large-v3" for best performance WHISPER_MODEL="openai/whisper-large-v3" HF_TOKEN="" # Telegram Config TELEGRAM_BOT_TOKEN="" ALLOWED_TELEGRAM_USER_ID="" # Discord Config DISCORD_BOT_TOKEN="" ALLOWED_DISCORD_CHANNELS="" # Agent Config CLAUDE_WORKSPACE="./agent_workspace" ALLOWED_DIR="" CLAUDE_CLI_BIN="claude" FAST_PREFIX_DETECTION=true ENABLE_NETWORK_PROBE_MOCK=true ENABLE_TITLE_GENERATION_SKIP=true ENABLE_SUGGESTION_MODE_SKIP=true ENABLE_FILEPATH_EXTRACTION_MOCK=true # Local Anthropic web_search / web_fetch handling (performs outbound HTTP; on by default) ENABLE_WEB_SERVER_TOOLS=true WEB_FETCH_ALLOWED_SCHEMES=http,https WEB_FETCH_ALLOW_PRIVATE_NETWORKS=false # Verbose diagnostics (avoid logging raw prompts / SSE bodies in production) DEBUG_PLATFORM_EDITS=false DEBUG_SUBAGENT_STACK=false # When true, also allows DEBUG-level httpx/httpcore/telegram log noise (not just payload logging). LOG_RAW_API_PAYLOADS=false LOG_RAW_SSE_EVENTS=false # When true, log full exception text and tracebacks for unhandled errors (may leak request-derived data). LOG_API_ERROR_TRACEBACKS=false # When true, log message/transcription text previews in messaging adapters (may leak user content). LOG_RAW_MESSAGING_CONTENT=false # When true, log full Claude CLI stderr, non-JSON stdout lines, and parser error text. LOG_RAW_CLI_DIAGNOSTICS=false # When true, log full exception and CLI error message strings in messaging (may leak user content). LOG_MESSAGING_ERROR_DETAILS=false
Langkah 4 — Mulai Proxy Lokal
Program proxy ini adalah aplikasi FastAPI Python yang dikelola oleh uv. Cukup jalankan perintah berikut (kita menggunakan port 8083 untuk menghindari bentrok dengan aplikasi lokal lain):
uv run uvicorn server:app --host 0.0.0.0 --port 8083
Anda akan melihat output yang menandakan Uvicorn running on http://0.0.0.0:8083.
💡 Pro Tip: Menjalankan Proxy di Background (Sangat Direkomendasikan)
Agar terminal Anda tidak tertahan oleh proses proxy, sebaiknya jalankan proxy ini di background menggunakan tmux atau screen. Berikut contohnya menggunakan tmux:
# 1. Buat sesi tmux baru bernama "fcc-proxy" tmux new -s fcc-proxy # 2. Di dalam tmux, jalankan proxy-nya uv run uvicorn server:app --host 0.0.0.0 --port 8083 # 3. Keluar dari sesi tmux tanpa mematikannya (Detach) dengan cara: # Tekan Ctrl+b, lepaskan, lalu tekan d
Proxy Anda sekarang berjalan aman di background! Jika suatu saat Anda ingin melihat log-nya lagi, cukup jalankan perintah tmux attach -t fcc-proxy di terminal Anda. (Jika Anda lebih suka menggunakan screen, Anda bisa menggunakan perintah screen -S fcc-proxy).
Langkah 5 — Menjalankan Claude Code Gratis
Buka jendela/tab Terminal baru, arahkan ke folder proyek apa saja (misalnya cd ~/Projects/aplikasi-saya), lalu atur environment variable sesinya:
export ANTHROPIC_AUTH_TOKEN="ccnim" export ANTHROPIC_BASE_URL="http://localhost:8083" claude
Sukses! Anda akan melihat banner Claude Code muncul tanpa ada permintaan login atau redirect API berbayar.
Langkah 6 — Smart Alias fcc-claude (Lebih Praktis!)
Daripada harus mengetik perintah export panjang-panjang setiap hari, Anda bisa menyederhanakannya dengan membuat sebuah alias di dalam konfigurasi *shell* sistem Anda (.bashrc atau .zshrc).
Buka file konfigurasi shell Anda. Jika Anda menggunakan Zsh (bawaan macOS terbaru):
vi ~/.zshrc
Jika Anda menggunakan Bash (umumnya di Linux):
vi ~/.bashrc
Tekan tombol i untuk masuk ke mode Insert, lalu tambahkan kode alias berikut ini di bagian paling bawah file:
alias fcc-claude='ANTHROPIC_AUTH_TOKEN="ccnim" \ ANTHROPIC_BASE_URL="http://localhost:8083" \ claude'
Simpan perubahan dengan cara menekan tombol Esc, ketik :wq lalu tekan Enter. Terapkan konfigurasi baru dengan cara reload file tersebut:
source ~/.zshrc
*(Jangan lupa ganti ~/.zshrc menjadi ~/.bashrc jika Anda menggunakan Bash).*
Mulai sekarang, Anda hanya perlu menjalankan perintah fcc-claude di folder proyek manapun untuk memanggil Claude Code gratis secara instan dan langsung terhubung dengan NIM Proxy!
Troubleshooting / Masalah Umum di Mac & Linux
- Masalah 403 Forbidden: Pastikan token sudah dikirim.
- Port 8083 Sudah Digunakan (Errno 48 / Errno 98): Cek PID aplikasi yang menggunakan port tersebut dengan
lsof -i :8083, kemudian hentikan paksa menggunakankill -9 <PID>. - API Error 401: Key NVIDIA kamu salah atau kadaluarsa. Coba tes pakai curl lokal:
curl -H "Authorization: Bearer nvapi-xxx..." https://integrate.api.nvidia.com/v1/models. Jika merespons error, buat token baru di situs NVIDIA. - Garbled Text / Error ketika pakai model devstral: Ingat, matikan fitur thinking jika tidak menggunakan model Kimi. Pastikan
ENABLE_MODEL_THINKING=falsedi dalam.envjika kamu mengganti model Opus ke model non-thinking.
Referensi:
- Artikel Asli: How to Run Claude Code for Free Using NVIDIA NIM – Kapil Khatik
- Proyek GitHub: free-claude-code by Alishahryar1




Kereennnnnn
Mangstabs. Bisa dipakai untuk agent-agent, pak?
Bisa dipakai ke agent IDE Codex, Kilocode, Opencode atau yang lainnya juga pak