Thanks to visit codestin.com
Credit goes to github.com

Skip to content

shamun-khatri/claude-code-free

 
 

Repository files navigation

free-claude-code

Use Claude Code CLI for free with NVIDIA NIM's free unlimited 40 reqs/min API. This lightweight proxy converts Claude Code's Anthropic API requests to NVIDIA NIM format. Includes Telegram bot integration for remote control from your phone!

Claude Code exploring cc-nim

Quick Start

1. Get Your Free NVIDIA API Key

  1. Get a new API key from build.nvidia.com/settings/api-keys
  2. Install claude-code
  3. Install uv

2. Clone & Configure

git clone https://github.com/Alishahryar1/free-claude-code.git
cd free-claude-code

cp .env.example .env

Edit .env:

NVIDIA_NIM_API_KEY=nvapi-your-key-here
MODEL=moonshotai/kimi-k2-thinking

Claude Code

Terminal 1 - Start the proxy:

uv run uvicorn server:app --host 0.0.0.0 --port 8082

Terminal 2 - Run Claude Code:

ANTHROPIC_AUTH_TOKEN=freecc ANTHROPIC_BASE_URL=http://localhost:8082 claude

That's it! Claude Code now uses NVIDIA NIM for free.


Telegram Bot Integration

Control Claude Code remotely via Telegram! Set an allowed directory, send tasks from your phone, and watch Claude-Code autonomously work on multiple tasks.

Setup

  1. Get a Bot Token:

    • Open Telegram and message @BotFather
    • Send /newbot and follow the prompts
    • Copy the HTTP API Token
  2. Edit .env:

TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrSTUvwxYZ
ALLOWED_TELEGRAM_USER_ID=your_telegram_user_id

💡 To find your Telegram user ID, message @userinfobot on Telegram.

  1. Configure the workspace (where Claude will operate):
CLAUDE_WORKSPACE=./agent_workspace
ALLOWED_DIR=C:/Users/yourname/projects
  1. Start the server:
uv run uvicorn server:app --host 0.0.0.0 --port 8082
  1. Usage:
    • Send a message to the bot on Telegram with a task
    • Claude will respond with:
      • 💭 Thinking tokens (reasoning steps)
      • 🔧 Tool calls as they execute
      • Final result when complete
    • Send /stop to cancel all running tasks

Available Models

See nvidia_nim_models.json for the full list of supported models.

Popular choices:

  • stepfun-ai/step-3.5-flash
  • moonshotai/kimi-k2.5
  • z-ai/glm4.7
  • minimaxai/minimax-m2.1
  • mistralai/devstral-2-123b-instruct-2512

Browse all models at build.nvidia.com

Updating the Model List

To update nvidia_nim_models.json with the latest models from NVIDIA NIM, run the following command:

curl "https://integrate.api.nvidia.com/v1/models" > nvidia_nim_models.json

Configuration

Variable Description Default
NVIDIA_NIM_API_KEY Your NVIDIA API key required
MODEL Model to use for all requests moonshotai/kimi-k2-thinking
CLAUDE_WORKSPACE Directory for agent workspace ./agent_workspace
ALLOWED_DIR Allowed directories for agent ""
MAX_CLI_SESSIONS Max concurrent CLI sessions 10
FAST_PREFIX_DETECTION Enable fast prefix detection true
ENABLE_NETWORK_PROBE_MOCK Enable network probe mock true
ENABLE_TITLE_GENERATION_SKIP Skip title generation true
ENABLE_SUGGESTION_MODE_SKIP Skip suggestion mode true
ENABLE_FILEPATH_EXTRACTION_MOCK Enable filepath extraction mock true
TELEGRAM_BOT_TOKEN Telegram Bot Token ""
ALLOWED_TELEGRAM_USER_ID Allowed Telegram User ID ""
MESSAGING_RATE_LIMIT Telegram messages per window 1
MESSAGING_RATE_WINDOW Messaging window (seconds) 1
NVIDIA_NIM_RATE_LIMIT API requests per window 40
NVIDIA_NIM_RATE_WINDOW Rate limit window (seconds) 60

The NVIDIA NIM base URL is fixed to https://integrate.api.nvidia.com/v1.

NIM Settings (prefix NVIDIA_NIM_)

Variable Description Default
NVIDIA_NIM_TEMPERATURE Sampling temperature 1.0
NVIDIA_NIM_TOP_P Top-p nucleus sampling 1.0
NVIDIA_NIM_TOP_K Top-k sampling -1
NVIDIA_NIM_MAX_TOKENS Max tokens for generation 81920
NVIDIA_NIM_PRESENCE_PENALTY Presence penalty 0.0
NVIDIA_NIM_FREQUENCY_PENALTY Frequency penalty 0.0
NVIDIA_NIM_MIN_P Min-p sampling 0.0
NVIDIA_NIM_REPETITION_PENALTY Repetition penalty 1.0
NVIDIA_NIM_SEED RNG seed (blank = unset) unset
NVIDIA_NIM_STOP Stop string (blank = unset) unset
NVIDIA_NIM_PARALLEL_TOOL_CALLS Parallel tool calls true
NVIDIA_NIM_RETURN_TOKENS_AS_TOKEN_IDS Return token ids false
NVIDIA_NIM_INCLUDE_STOP_STR_IN_OUTPUT Include stop string in output false
NVIDIA_NIM_IGNORE_EOS Ignore EOS token false
NVIDIA_NIM_MIN_TOKENS Minimum generated tokens 0
NVIDIA_NIM_CHAT_TEMPLATE Chat template override unset
NVIDIA_NIM_REQUEST_ID Request id override unset
NVIDIA_NIM_REASONING_EFFORT Reasoning effort high
NVIDIA_NIM_INCLUDE_REASONING Include reasoning in response true

All NVIDIA_NIM_* settings are strictly validated; unknown keys with this prefix will cause startup errors.

See .env.example for all supported parameters.

Development

Running Tests

To run the test suite, use the following command:

uv run pytest

Adding Your Own Provider

Extend BaseProvider in providers/ to add support for other APIs:

from providers.base import BaseProvider, ProviderConfig

class MyProvider(BaseProvider):
    async def complete(self, request):
        # Make API call, return raw JSON
        pass

    async def stream_response(self, request, input_tokens=0):
        # Yield Anthropic SSE format events
        pass

    def convert_response(self, response_json, original_request):
        # Convert to Anthropic response format
        pass

Adding Your Own Messaging App

Extend MessagingPlatform in messaging/ to add support for other platforms (Discord, Slack, etc.):

from messaging.base import MessagingPlatform
from messaging.models import IncomingMessage

class MyPlatform(MessagingPlatform):
    async def start(self):
        # Initialize connection
        pass

    async def stop(self):
        # Cleanup
        pass

    async def queue_send_message(self, chat_id, text, **kwargs):
        # Send message to platform
        pass

    async def queue_edit_message(self, chat_id, message_id, text, **kwargs):
        # Edit existing message
        pass

    def on_message(self, handler):
        # Register callback for incoming messages
        # Handler expects an IncomingMessage object
        pass

About

Use claude-code for free with NVIDIA-NIM via the terminal CLI or telegram

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%