A complete terminal implementation of Anthropic's Claude.
Project description
tclaude — Claude in the terminal
A complete implementation of Claude in the terminal.
Unlike other tools that aim to support all kinds of LLMs, tclaude is designed specifically for Claude. As such, Claude-specific features like caching, Claude-native web search or code execution are implemented correctly and fully.
Highlights
- Interactive chat with resumable sessions, extended thinking, and tool use
- Built-in gounded web search, code execution, and file analysis
- Remote and local MCP server support
- Implement any custom tool in just a few lines of Python
- Automatic caching (makes Claude up to 10x cheaper!)
Installation
git clone https://github.com/tom94/tclaude
pip install . --user
Then set the ANTHROPIC_API_KEY environment variable to your Claude API key and you are good to go.
Usage
Running tclaude opens a new chat session. You can also directly pass a prompt to start a session.
tclaude "How do I make great pasta?"
# or: echo "How do I make great pasta?" | tclaude
> Great pasta starts with quality ingredients and proper technique. ...
Or use an outward pipe to integrate tclaude into unix workflows
git diff --staged | tclaude "Write a commit message for this diff." | xargs -0 git commit -m
Upload files with -f
tclaude -f paper.pdf "Summarize this paper."
tclaude -f cat.png "Is this a dog?"
Claude will use web search and server-side code execution when the request demands it:
tclaude "Tell me the factorials from 1 through 20."
> [Uses Python to compute the answer.]
tclaude "What is the state of the art in physically based rendering?"
> [Uses web search and responds with citations.]
Sessions
Once you're done chatting, the session will be automatically named and saved as <session-name>.json in the working directory.
You can resume the session with tclaude -s <session-name>.json.
Customize where sessions are saved by passing --sessions-dir <dir> or by setting the TCLAUDE_SESSIONS_DIR environment variable.
Extended thinking
Enable thinking with --thinking
tclaude --thinking "Write a quine in C++."
> [Claude thinks about how to write a quine before responding.]
Custom system prompt
If you'd like to customize the behavior of Claude (e.g. tell it to be brief, or give it background information), create ~/.configs/tclaude/roles/default.md.
The content of this file will be prepended as system prompt to all conversations.
If you'd like to load different system prompts on a case-by-case basis, you can pass them as
tclaude --role pirate.md "How do I make great pasta?"
> Ahoy there, matey! Ye be seekin' the secrets of craftin' the finest pasta this side of the Mediterranean, eh? ...
Custom tools
Simply implement your tool as a function in src/tclaude/tools.py and it will be callable by Claude.
Make sure to document the tools' function thoroughly such that Claude uses it optimally.
License
GPLv3; see LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tclaude-0.1.1.tar.gz.
File metadata
- Download URL: tclaude-0.1.1.tar.gz
- Upload date:
- Size: 44.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
579feb7a30977d0632c46816ada3a19de50d73d7dc71329d412bfef78c1dddfd
|
|
| MD5 |
b0960199dfddcb55396c718624c5dedf
|
|
| BLAKE2b-256 |
09db8664af03d19ac16b55e2cdc6b473993c62ca134ab87f80748f0a6553e5a2
|
File details
Details for the file tclaude-0.1.1-py3-none-any.whl.
File metadata
- Download URL: tclaude-0.1.1-py3-none-any.whl
- Upload date:
- Size: 56.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b53bb92bd25d323d7f5486b8954f6e7060bb35fa05dbd5e19d51eae2467d250c
|
|
| MD5 |
b24f1682fb8bddbada7f491158c8564c
|
|
| BLAKE2b-256 |
004b7fb55efca60c0c56fe40ee43aeca7cc295de89d1541cf7a03436b075beed
|