Skip to content

Commit 90694b9

Browse files
authored
Ensure claude is detected (#17)
1 parent 6e1634f commit 90694b9

2 files changed

Lines changed: 13 additions & 2 deletions

File tree

src/AgentDetector.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,9 @@ protected static function fromAiAgentEnvVar(): ?AgentResult
5050
return null;
5151
}
5252

53-
return AgentResult::forAgent(match ($aiAgent) {
54-
'github-copilot', 'github-copilot-cli' => KnownAgent::Copilot,
53+
return AgentResult::forAgent(match (true) {
54+
in_array($aiAgent, ['github-copilot', 'github-copilot-cli']) => KnownAgent::Copilot,
55+
str_starts_with($aiAgent, 'claude-code') => KnownAgent::Claude,
5556
default => $aiAgent,
5657
});
5758
}

tests/AgentDetectorTest.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,16 @@
9898
->and($result->knownAgent())->toBe(KnownAgent::Copilot);
9999
});
100100

101+
it('detects claude via AI_AGENT claude-code prefix', function (): void {
102+
putenv('AI_AGENT=claude-code/2.1.123/agent');
103+
104+
$result = AgentDetector::detect();
105+
106+
expect($result->isAgent)->toBeTrue()
107+
->and($result->name)->toBe('claude')
108+
->and($result->knownAgent())->toBe(KnownAgent::Claude);
109+
});
110+
101111
it('detects v0 via AI_AGENT', function (): void {
102112
putenv('AI_AGENT=v0');
103113

0 commit comments

Comments
 (0)