News

Laravel Prompts v0.3.15 Adds Streaming, Tasks, Autocomplete, and More

Published
Laravel Prompts v0.3.15 Adds Streaming, Tasks, Autocomplete, and More image

Laravel Prompts v0.3.15 is out and it introduces several new features that make it easier to create interactive, real-time, and even AI-driven terminal applications.

Laravel Prompts v0.3.15 is out! A ton of new primitives came out of building the Cloud CLI (+ some unreleased stuff 👀), so we decided to bake them in Prompts itself. - @joetannenbaum

Run Long Processes with task()

The new task() helper makes it simple to run long-running operations while keeping users informed.

It includes a live-updating spinner, scrolling log output, and clear success, warning, and error states that persist after completion. You can also dynamically update the task label as progress changes.

This is especially useful for deployments, installs, or any process where visibility matters.

Stream Output in Real Time with stream()

The stream() prompt enables incremental output directly to the terminal.

It includes built-in word wrapping, ANSI support, and a smooth fade-in effect. This makes it ideal for:

  • AI-generated responses
  • Live logs
  • Progressive output from APIs

Anything that arrives over time can now be displayed naturally in the CLI.

Smarter Input with autocomplete()

With autocomplete(), users get type-ahead suggestions while still retaining full control over their input.

You can provide:

  • A static array of options
  • A dynamic closure that filters suggestions as the user types

This is perfect for things like config keys, file paths, or commonly used values where speed matters.

Dynamic Context with Select Prompt info

Select-based prompts now support a dynamic info panel.

By passing a closure, you can display contextual details based on the currently highlighted option. This works across:

  • select
  • multiselect
  • search
  • multisearch
  • suggest

Use cases include showing pricing, descriptions, IDs, or any additional metadata that helps users make better decisions.

Set Terminal Titles with title()

The new title() helper allows you to update the terminal window or tab title programmatically.

This is particularly useful for long-running commands. Users can monitor progress at a glance, even when the terminal is in the background. Passing an empty string resets the title.

Send Desktop Alerts with notify()

notify() brings native system notifications to your CLI applications.

  • macOS support includes subtitles and sounds
  • Linux support includes custom icons

This is ideal for background tasks like deployments or builds. Start a process, switch tabs, and get notified when it completes.

Building AI-Powered CLI Apps

These new primitives work especially well together. A simple example:

  • Accept user input
  • Update the terminal title with title()
  • Process the request using an AI agent wrapped in task()
  • Stream the generated output with stream()

This pattern opens the door for powerful AI-driven developer tools directly in the terminal.


Learn More

All of these features are available now and fully documented in the official docs:

https://laravel.com/docs/13.x/prompts

You can also view the original announcement thread here:

https://x.com/joetannenbaum/status/2034297199610274296

Eric L. Barnes photo

Eric is the creator of Laravel News and has been covering Laravel since 2012.

Sponsored

tinkerwell logo
Tinkerwell

Enjoy coding and debugging in an editor designed for fast feedback and quick iterations. It's like a shell for your application – but with multi-line editing, code completion, and more.

Visit Tinkerwell

The latest

View all →
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article
Laravel AI SDK Adds Human-in-the-Loop Tool Approval image

Laravel AI SDK Adds Human-in-the-Loop Tool Approval

Read article
Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals image

Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals

Read article
Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs image

Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs

Read article
Blade Formatting in Laravel Pint image

Blade Formatting in Laravel Pint

Read article
Inertia DevTools Is Now on the Chrome Web Store image

Inertia DevTools Is Now on the Chrome Web Store

Read article