Skip to content

Commit cfcba65

Browse files
authored
Merge pull request #229 from AutoForgeAI/chore/auth-disclaimer-and-version-bump
Add auth policy disclaimer and bump to 0.1.19
2 parents bcb7717 + 1341a16 commit cfcba65

10 files changed

Lines changed: 52 additions & 25 deletions

File tree

README.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44

55
A long-running autonomous coding agent powered by the Claude Agent SDK. This tool can build complete applications over multiple sessions using a two-agent pattern (initializer + coding agent). Includes a React-based UI for monitoring progress in real-time.
66

7+
> [!WARNING]
8+
> **Authentication:** Anthropic's policy states that third-party developers may not offer `claude.ai` login or subscription-based rate limits for their products (including agents built on the Claude Agent SDK) unless previously approved. Using your Claude subscription with AutoForge may risk account suspension. We recommend using an API key from [console.anthropic.com](https://console.anthropic.com/) instead.
9+
10+
> [!NOTE]
11+
> **This repository is no longer actively maintained.** Most agent coding tools now ship their own long-running harnesses, making this project less necessary. Feel free to fork and continue development on your own!
12+
713
## Video Tutorial
814

915
[![Watch the tutorial](https://img.youtube.com/vi/nKiPOxDpcJY/hqdefault.jpg)](https://youtu.be/nKiPOxDpcJY)
@@ -34,8 +40,8 @@ irm https://claude.ai/install.ps1 | iex
3440

3541
You need one of the following:
3642

37-
- **Claude Pro/Max Subscription** - Use `claude login` to authenticate (recommended)
38-
- **Anthropic API Key** - Pay-per-use from https://console.anthropic.com/
43+
- **Anthropic API Key** (recommended) - Pay-per-use from https://console.anthropic.com/
44+
- **Claude Pro/Max Subscription** - Use `claude login` to authenticate (see warning above)
3945

4046
---
4147

@@ -101,7 +107,7 @@ This launches the React-based web UI at `http://localhost:5173` with:
101107

102108
The start script will:
103109
1. Check if Claude CLI is installed
104-
2. Check if you're authenticated (prompt to run `claude login` if not)
110+
2. Check if you're authenticated (prompt to configure authentication if not)
105111
3. Create a Python virtual environment
106112
4. Install dependencies
107113
5. Launch the main menu
@@ -371,7 +377,7 @@ Edit `security.py` to add or remove commands from `ALLOWED_COMMANDS`.
371377
Install the Claude Code CLI using the instructions in the Prerequisites section.
372378

373379
**"Not authenticated with Claude"**
374-
Run `claude login` to authenticate. The start script will prompt you to do this automatically.
380+
Set your API key via `ANTHROPIC_API_KEY` environment variable or the Settings UI. Alternatively, run `claude login` to use subscription credentials, but note that Anthropic's policy may not permit subscription-based auth for third-party agents.
375381

376382
**"Appears to hang on first run"**
377383
This is normal. The initializer agent is generating detailed test cases, which takes significant time. Watch for `[Tool: ...]` output to confirm the agent is working.

auth.py

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,16 @@ def is_auth_error(text: str) -> bool:
5353
5454
Claude CLI requires authentication to work.
5555
56-
To fix this, run:
56+
Option 1 (Recommended): Set an API key
57+
export ANTHROPIC_API_KEY=your-key-here
58+
Get a key at: https://console.anthropic.com/
59+
60+
Option 2: Use subscription login
5761
claude login
5862
59-
This will open a browser window to sign in.
60-
After logging in, try running this command again.
63+
Note: Anthropic's policy may not permit using
64+
subscription auth with third-party agents.
65+
API key authentication is recommended.
6166
==================================================
6267
"""
6368

@@ -69,11 +74,16 @@ def is_auth_error(text: str) -> bool:
6974
7075
Claude CLI requires authentication to work.
7176
72-
To fix this, run:
77+
Option 1 (Recommended): Set an API key
78+
export ANTHROPIC_API_KEY=your-key-here
79+
Get a key at: https://console.anthropic.com/
80+
81+
Option 2: Use subscription login
7382
claude login
7483
75-
This will open a browser window to sign in.
76-
After logging in, try starting the agent again.
84+
Note: Anthropic's policy may not permit using
85+
subscription auth with third-party agents.
86+
API key authentication is recommended.
7787
================================================================================
7888
"""
7989

autonomous_agent_demo.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ def parse_args() -> argparse.Namespace:
7676
python autonomous_agent_demo.py --project-dir my-app --testing-ratio 0
7777
7878
Authentication:
79-
Uses Claude CLI authentication (run 'claude login' if not logged in)
80-
Authentication is handled by start.bat/start.sh before this runs
79+
Uses Claude CLI authentication. API key (ANTHROPIC_API_KEY) is recommended.
80+
Alternatively run 'claude login', but note Anthropic's policy may restrict subscription auth.
8181
""",
8282
)
8383

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "autoforge-ai",
3-
"version": "0.1.18",
3+
"version": "0.1.19",
44
"description": "Autonomous coding agent with web UI - build complete apps with AI",
55
"license": "AGPL-3.0",
66
"bin": {

start.bat

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,12 @@ REM verify the CLI is installed and remind the user to login if needed
2929
set "CLAUDE_DIR=%USERPROFILE%\.claude"
3030
if exist "%CLAUDE_DIR%\" (
3131
echo [OK] Claude CLI directory found
32-
echo ^(If you're not logged in, run: claude login^)
32+
echo ^(Set ANTHROPIC_API_KEY or run: claude login^)
3333
) else (
3434
echo [!] Claude CLI not configured
3535
echo.
36-
echo Please run 'claude login' to authenticate before continuing.
36+
echo Please set ANTHROPIC_API_KEY or run 'claude login' to authenticate.
37+
echo Note: API key auth is recommended. See README for details.
3738
echo.
3839
pause
3940
)

start.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ def run_spec_creation(project_dir: Path) -> bool:
255255
print(f"Please ensure app_spec.txt exists in: {get_project_prompts_dir(project_dir)}")
256256
# If failed with non-zero exit and no spec, might be auth issue
257257
if result.returncode != 0:
258-
print("\nIf you're having authentication issues, try running: claude login")
258+
print("\nIf you're having authentication issues, set ANTHROPIC_API_KEY or try: claude login")
259259
return False
260260

261261
except FileNotFoundError:
@@ -416,7 +416,7 @@ def run_agent(project_name: str, project_dir: Path) -> None:
416416
print(f"\nAgent error:\n{stderr_output.strip()}")
417417
# Still hint about auth if exit was unexpected
418418
if "error" in stderr_output.lower() or "exception" in stderr_output.lower():
419-
print("\nIf this is an authentication issue, try running: claude login")
419+
print("\nIf this is an authentication issue, set ANTHROPIC_API_KEY or try: claude login")
420420

421421
except KeyboardInterrupt:
422422
print("\n\nAgent interrupted. Run again to resume.")

start.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,12 @@ echo "[OK] Claude CLI found"
2525
# verify the CLI is installed and remind the user to login if needed
2626
if [ -d "$HOME/.claude" ]; then
2727
echo "[OK] Claude CLI directory found"
28-
echo " (If you're not logged in, run: claude login)"
28+
echo " (Set ANTHROPIC_API_KEY or run: claude login)"
2929
else
3030
echo "[!] Claude CLI not configured"
3131
echo ""
32-
echo "Please run 'claude login' to authenticate before continuing."
32+
echo "Please set ANTHROPIC_API_KEY or run 'claude login' to authenticate."
33+
echo "Note: API key auth is recommended. See README for details."
3334
echo ""
3435
read -p "Press Enter to continue anyway, or Ctrl+C to exit..."
3536
fi

start_ui.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,16 @@ if ! command -v claude &> /dev/null; then
1616
echo " The agent requires Claude CLI to work."
1717
echo " Install it from: https://claude.ai/download"
1818
echo ""
19-
echo " After installing, run: claude login"
19+
echo " After installing, set ANTHROPIC_API_KEY or run: claude login"
2020
echo ""
2121
else
2222
echo "[OK] Claude CLI found"
2323
# Note: Claude CLI no longer stores credentials in ~/.claude/.credentials.json
2424
# We can't reliably check auth status without making an API call
2525
if [ -d "$HOME/.claude" ]; then
26-
echo " (If you're not logged in, run: claude login)"
26+
echo " (Set ANTHROPIC_API_KEY or run: claude login)"
2727
else
28-
echo "[!] Claude CLI not configured - run 'claude login' first"
28+
echo "[!] Claude CLI not configured - set ANTHROPIC_API_KEY or run 'claude login'"
2929
fi
3030
fi
3131
echo ""

ui/package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ui/src/components/SettingsModal.tsx

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { useState } from 'react'
2-
import { Loader2, AlertCircle, Check, Moon, Sun, Eye, EyeOff, ShieldCheck } from 'lucide-react'
2+
import { Loader2, AlertCircle, AlertTriangle, Check, Moon, Sun, Eye, EyeOff, ShieldCheck } from 'lucide-react'
33
import { useSettings, useUpdateSettings, useAvailableModels, useAvailableProviders } from '../hooks/useProjects'
44
import { useTheme, THEMES } from '../hooks/useTheme'
55
import type { ProviderInfo } from '../lib/types'
@@ -21,7 +21,7 @@ interface SettingsModalProps {
2121
}
2222

2323
const PROVIDER_INFO_TEXT: Record<string, string> = {
24-
claude: 'Default provider. Uses your Claude CLI credentials.',
24+
claude: 'Default provider. Uses Claude CLI credentials. API key auth is recommended.',
2525
kimi: 'Get an API key at kimi.com',
2626
glm: 'Get an API key at open.bigmodel.cn',
2727
ollama: 'Run models locally. Install from ollama.com',
@@ -245,6 +245,15 @@ export function SettingsModal({ isOpen, onClose }: SettingsModalProps) {
245245
{PROVIDER_INFO_TEXT[currentProvider] ?? ''}
246246
</p>
247247

248+
{currentProvider === 'claude' && (
249+
<Alert className="border-amber-500/50 bg-amber-50 dark:bg-amber-950/20 mt-2">
250+
<AlertTriangle className="h-4 w-4 text-amber-600" />
251+
<AlertDescription className="text-xs text-amber-700 dark:text-amber-300">
252+
Anthropic's policy may not permit using subscription-based auth (<code className="text-xs">claude login</code>) with third-party agents. Consider using an API key provider or setting the <code className="text-xs">ANTHROPIC_API_KEY</code> environment variable to avoid potential account issues.
253+
</AlertDescription>
254+
</Alert>
255+
)}
256+
248257
{/* Auth Token Field */}
249258
{showAuthField && (
250259
<div className="space-y-2 pt-1">

0 commit comments

Comments
 (0)