Run
How to start HomeClaw Core and channels.
1. Start Core
From the project root:
python -m core.core
Or run the interactive CLI (Core runs in a background thread; you chat in the terminal):
python -m main start
Core listens on port 9000 by default (config/core.yml).
2. Start a channel
In another terminal, start a channel so you can talk to the assistant:
| Channel | Command | Typical URL / use |
|---|---|---|
| WebChat | python -m channels.run webchat |
http://localhost:8014 |
| Telegram | python -m channels.run telegram |
Your Telegram bot |
| Discord | python -m channels.run discord |
Your Discord bot |
| CLI | (use python -m main start above) |
Terminal only |
Set channels/.env with CORE_URL (e.g. http://127.0.0.1:9000) and any bot tokens. Add allowed users in config/user.yml.
3. Quick test
- Start Core:
python -m core.coreorpython -m main start. - Start WebChat:
python -m channels.run webchat. - Open http://localhost:8014 and send a message. Ensure your
user_idis inconfig/user.yml.
4. Doctor (check config and LLM)
python -m main doctor
Checks config and LLM connectivity and suggests fixes. See Help for troubleshooting.
5. Console output and blocking (Windows)
When you run Core from Command Prompt (cmd), you may see a lot of log lines and then the app stops and waits for you to press Space (“More?”). That happens because (1) Core logs heavily when silent: false, and (2) when the CMD screen buffer is full, Windows pages output and blocks until you press a key.
Ways to fix it:
-
Send all logs only to the log file (no console)
Inconfig/core.ymlset:yaml log_to_console: falseThen nothing is written to the console; all logs go tologs/core_debug.log. Monitor with e.g.Get-Content logs\core_debug.log -Wait -Tail 50(PowerShell) ortail -f logs/core_debug.log(Git Bash/WSL). The app will not block on Space. -
Reduce console logging
Inconfig/core.ymlset:yaml silent: trueThen Core will log only INFO-level messages to the console (less output, no need to press Space). Full logs still go tologs/core_debug.log(or similar). -
Increase CMD screen buffer (so “More?” doesn’t appear)
In the Command Prompt window: right‑click the title bar → Properties → Layout tab → Screen Buffer Size → set Height to a large value (e.g. 9999). Click OK. Then restart Core. -
Run in PowerShell
PowerShell doesn’t page the same way. Run Core in PowerShell instead of CMD:powershell python -m main startorpowershell python -m core.core -
Redirect output to a file (no console output, no blocking)
cmd python -m main start > logs\core-console.txt 2>&1Logs go tologs\core-console.txt; the console stays empty and the app won’t block on Space. -
Run the app quietly and monitor the log with a tail tool
Run Core withsilent: true(or redirected output) so the app doesn’t flood the console. In a second terminal, watch the log file with a tail-like tool: - PowerShell:
powershell Get-Content logs\core_debug.log -Wait -Tail 50(Shows the last 50 lines and keeps appending new lines.) - Git Bash / WSL:
bash tail -f logs/core_debug.logSo you run the app in one window (no blocking) and follow logs in the other.
6. Tail / follow the log file (Windows and Mac)
To watch the Core log file live in a second terminal:
Windows (PowerShell)
From the project root:
Get-Content logs\core_debug.log -Wait -Tail 50
-Waitkeeps the command running and shows new lines as they are written.-Tail 50shows the last 50 lines first (change to e.g.100if you want more).- Stop with Ctrl+C.
Mac (and Linux)
From the project root:
tail -f logs/core_debug.log
-ffollows the file (new lines appear as they are written).- Stop with Ctrl+C.
- Optional:
tail -F logs/core_debug.logkeeps following even if the file is rotated (recreated).