PHPackages                             datashaman/claude-agent-laravel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. datashaman/claude-agent-laravel

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

datashaman/claude-agent-laravel
===============================

Laravel companion package for datashaman/claude-agent-sdk

v0.2.1(3mo ago)04MITPHPPHP &gt;=8.2CI passing

Since Mar 25Pushed 3mo agoCompare

[ Source](https://github.com/datashaman/claude-agent-laravel)[ Packagist](https://packagist.org/packages/datashaman/claude-agent-laravel)[ RSS](/packages/datashaman-claude-agent-laravel/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (3)Dependencies (14)Versions (8)Used By (0)

Claude Agent Laravel
====================

[](#claude-agent-laravel)

Laravel companion package for [datashaman/claude-agent-sdk](https://github.com/datashaman/claude-agent-sdk).

Requirements
------------

[](#requirements)

- PHP 8.2+
- Laravel 12+
- [Claude CLI](https://docs.anthropic.com/en/docs/claude-code) installed on the server

Installation
------------

[](#installation)

```
composer require datashaman/claude-agent-laravel
```

The service provider and facade are auto-discovered. To publish the config:

```
php artisan vendor:publish --tag=claude-config
```

Configuration
-------------

[](#configuration)

`config/claude.php`:

```
return [
    'model' => env('CLAUDE_MODEL', 'sonnet'),
    'permission_mode' => env('CLAUDE_PERMISSION_MODE', 'default'),
    'system_prompt' => env('CLAUDE_SYSTEM_PROMPT', ''),
    'max_turns' => env('CLAUDE_MAX_TURNS', 0),
    'allowed_tools' => [],
    'queue' => env('CLAUDE_QUEUE'),
    'streaming' => [
        'enabled' => true,
        'route_prefix' => 'claude',
        'middleware' => ['web'],
    ],
];
```

Usage
-----

[](#usage)

### Facade

[](#facade)

```
use DataShaman\Claude\AgentLaravel\Facades\Claude;

// Stream messages from a query
foreach (Claude::query('Explain dependency injection') as $message) {
    echo $message->getTextContent();
}

// Get a client with session persistence
$client = Claude::client(['model' => 'opus']);
foreach ($client->send('Hello') as $message) {
    echo $message->getTextContent();
}

// List sessions
$sessions = Claude::listSessions();

// Get session history
$messages = Claude::getSessionMessages('session-id');
```

### Artisan Commands

[](#artisan-commands)

```
# Send a query
php artisan claude:query "Explain SOLID principles"

# With options
php artisan claude:query "Continue" --model=opus --session=abc123

# List sessions
php artisan claude:sessions:list

# Show session history
php artisan claude:sessions:show abc123
```

### Queue Integration

[](#queue-integration)

```
use DataShaman\Claude\AgentLaravel\Jobs\ClaudeQueryJob;
use DataShaman\Claude\AgentLaravel\Events\ClaudeQueryCompleted;
use DataShaman\Claude\AgentLaravel\Events\ClaudeQueryFailed;

// Dispatch a query as a background job
ClaudeQueryJob::dispatch('Summarize this document');

// With overrides
ClaudeQueryJob::dispatch('Hello', ['model' => 'opus']);

// Listen for results in a listener or EventServiceProvider
// ClaudeQueryCompleted: $event->prompt, $event->response, $event->sessionId, $event->timestamp
// ClaudeQueryFailed: $event->prompt, $event->error, $event->exception
```

**Queue timeout**: Agent queries can take significant time. Configure your queue worker timeout accordingly:

```
php artisan queue:work --timeout=300
```

Consider using a dedicated queue for Claude jobs:

```
CLAUDE_QUEUE=claude
```

### SSE Streaming

[](#sse-streaming)

The package registers a `POST /{prefix}/stream` endpoint for Server-Sent Events streaming.

```
const response = await fetch('/claude/stream', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').content,
    },
    body: JSON.stringify({ prompt: 'Hello Claude' }),
});

const reader = response.body.getReader();
const decoder = new TextDecoder();

while (true) {
    const { done, value } = await reader.read();
    if (done) break;

    const text = decoder.decode(value);
    // Parse SSE events from text
}
```

**Proxy buffering**: If using nginx, disable proxy buffering for the stream endpoint:

```
location /claude/stream {
    proxy_buffering off;
    proxy_cache off;
}
```

### Livewire Component

[](#livewire-component)

Include the chat component in any Blade template (requires `livewire/livewire`):

```

```

To customize the view:

```
php artisan vendor:publish --tag=claude-views
```

Testing
-------

[](#testing)

```
composer test
```

License
-------

[](#license)

MIT

###  Health Score

35

—

LowBetter than 77% of packages

Maintenance82

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

3

Last Release

92d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/48372fbab9c5059c6d5773bb3d42dff0382443ceb65d008fc219ad38a383eafd?d=identicon)[datashaman](/maintainers/datashaman)

---

Top Contributors

[![datashaman](https://avatars.githubusercontent.com/u/59514?v=4)](https://github.com/datashaman "datashaman (5 commits)")

---

Tags

agentaianthropicclaudelaravellivewirephpsdkssestreaming

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/datashaman-claude-agent-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/datashaman-claude-agent-laravel/health.svg)](https://phpackages.com/packages/datashaman-claude-agent-laravel)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3345.1M337](/packages/psalm-plugin-laravel)[illuminate/pipeline

The Illuminate Pipeline package.

9348.3M267](/packages/illuminate-pipeline)[illuminate/session

The Illuminate Session package.

9938.5M822](/packages/illuminate-session)[illuminate/pagination

The Illuminate Pagination package.

10533.5M991](/packages/illuminate-pagination)[illuminate/broadcasting

The Illuminate Broadcasting package.

7126.9M203](/packages/illuminate-broadcasting)[illuminate/hashing

The Illuminate Hashing package.

6429.4M184](/packages/illuminate-hashing)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
