Troubleshooting & FAQ¶
Frequently Asked Questions¶
Can I use InnoClaw without an API key?¶
Yes. Workspace management, file browsing, uploading, editing, and GitHub cloning features work without any API key. Only AI chat and note generation features require an API key. The UI will display a prompt indicating that AI features are unavailable.
How do I use third-party compatible services (proxies, self-hosted models)?¶
Set OPENAI_BASE_URL, ANTHROPIC_BASE_URL, or GEMINI_BASE_URL in your .env.local file to point to any API-compatible endpoint:
OPENAI_BASE_URL=https://api.your-proxy.com/v1
OPENAI_API_KEY=sk-your-key
If your proxy doesn’t support the embedding endpoint, configure a separate embedding service:
EMBEDDING_API_KEY=sk-your-embedding-key
EMBEDDING_BASE_URL=https://api.your-embedding-proxy.com/v1
EMBEDDING_MODEL=text-embedding-3-small
How do I configure Google Gemini?¶
Set GEMINI_API_KEY in your .env.local file. Optionally set GEMINI_BASE_URL if using a custom proxy:
GEMINI_API_KEY=your-gemini-key
# GEMINI_BASE_URL=https://api.your-provider.com
Then select “Gemini” as the provider in the Settings UI, or set the default:
LLM_PROVIDER=gemini
LLM_MODEL=gemini-2.5-flash
What is Agent mode and how does it differ from RAG Chat?¶
RAG Chat answers questions grounded in your workspace files using retrieval-augmented generation. It searches indexed files for relevant context and generates answers with source citations.
Agent mode provides an autonomous AI with tool access (bash, file operations, kubectl, article search, etc.). It can execute multi-step tasks, run commands, edit files, search papers, and submit K8s jobs. Agent mode supports three sub-modes:
Agent — Full tool access for autonomous execution
Plan — Read-only tools for analysis and planning
Ask — Read-only tools for simple Q&A
What file formats are supported for RAG indexing?¶
Category |
Extensions |
|---|---|
Documents |
|
Data |
|
Code |
|
Is indexing slow for large workspaces?¶
The first sync processes all files (extract text → chunk → generate embeddings), which depends on the number and size of files. Subsequent syncs only process new or modified files (based on file hash comparison), making them significantly faster.
Can I run InnoClaw on Linux?¶
Yes. Set WORKSPACE_ROOTS to Linux paths:
WORKSPACE_ROOTS=/home/user/research,/home/user/projects
How do Scheduled Tasks work?¶
Scheduled tasks use cron expressions to automate recurring operations. The scheduler polls every 60 seconds and runs due tasks. Available task types:
Type |
Description |
|---|---|
|
Generate daily workspace activity report |
|
Generate weekly workspace activity report |
|
Automatically pull Git repositories |
|
Re-index workspace files |
|
User-defined workflows |
Create tasks via the UI or the POST /api/scheduled-tasks endpoint with a cron expression (e.g., "0 0 * * *" for daily at midnight).
How do I download a dataset from HuggingFace or ModelScope?¶
Use the Datasets page or the POST /api/datasets endpoint:
Navigate to the Datasets page
Enter the repository ID (e.g.,
username/dataset-name)Select the source (HuggingFace or ModelScope)
Optionally set file patterns to include/exclude
Start the download
For private HuggingFace repos, set HF_TOKEN in .env.local or via the Settings UI.
How do I configure a proxy for outbound API calls?¶
Set HTTP_PROXY and HTTPS_PROXY in your .env.local file:
HTTP_PROXY=http://your-proxy:3128
HTTPS_PROXY=http://your-proxy:3128
NO_PROXY=localhost,127.0.0.1,10.0.0.0/8
All outbound fetch() calls (AI API, GitHub, HuggingFace, etc.) will route through the proxy. Hosts in NO_PROXY bypass it.
Database errors on NFS or network filesystems¶
SQLite requires a local filesystem for reliable locking. If the project is on NFS/CIFS, set DATABASE_URL to a local path:
DATABASE_URL=/tmp/innoclaw/innoclaw.db
Also set NEXT_BUILD_DIR to avoid Turbopack cache errors:
NEXT_BUILD_DIR=/tmp/innoclaw-next
How do I submit K8s / GPU jobs?¶
Configure Kubernetes access in
.env.local:KUBECONFIG_PATH=/path/to/your/kubeconfig K8S_SUBMITTER=your-ad-account K8S_IMAGE_PULL_SECRET=your-secret-name
Use Agent mode and ask the AI to submit a job, or use the
submitK8sJobtool directlyJobs require explicit user confirmation before submission (the agent will ask)
Use
collectJobResultsto retrieve logs and status after completion
See Environment Variables for all K8S_* configuration options.
GitHub clone fails — what should I check?¶
Verify that
gitis installed:git --versionCheck that
GITHUB_TOKENis set correctly in.env.localEnsure the token has the
reposcope for private repositoriesCheck network connectivity to
github.com
How do I reset the database?¶
# Remove the database file
rm ./data/innoclaw.db
# Re-run migrations
npx drizzle-kit migrate
This creates a fresh database. All workspaces, chat history, notes, and settings will be lost, but workspace files on disk are not affected.
How do I back up my data?¶
Back up the following:
Item |
Location |
|---|---|
Database |
|
Configuration |
|
Workspace files |
Directories listed in |
The development server won’t start¶
Ensure Node.js 18+ is installed:
node --versionEnsure dependencies are installed:
npm installEnsure the database is initialized:
npx drizzle-kit migrateEnsure
WORKSPACE_ROOTSdirectories exist on diskCheck for port conflicts on port 3000
How do I change the port?¶
# Development
PORT=8080 npm run dev
# Production
PORT=8080 npm run start
Getting Help¶
GitHub Issues — Report bugs or request features
Documentation — You’re reading it! Check other sections for specific topics
Source Code — The code is well-structured and documented; see Project Structure