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

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
Laravel Image Responses: Serve Resized Images From Routes image

Laravel Image Responses: Serve Resized Images From Routes

Read article
Pause All Laravel Queues During a Deploy image

Pause All Laravel Queues During a Deploy

Read article
Laravel Terminal UI for the artisan dev Command image

Laravel Terminal UI for the artisan dev Command

Read article
Pause All Queues and a New artisan dev UI in Laravel 13.25 image

Pause All Queues and a New artisan dev UI in Laravel 13.25

Read article
Laravel monitoring that doesn't bill you by your traffic image

Laravel monitoring that doesn't bill you by your traffic

Read article
Mock PHP Classes in Tests With the Double Library image

Mock PHP Classes in Tests With the Double Library

Read article