PHPackages                             newtovaux/laravel-console-user-tools - 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. [CLI &amp; Console](/categories/cli)
4. /
5. newtovaux/laravel-console-user-tools

ActiveLibrary[CLI &amp; Console](/categories/cli)

newtovaux/laravel-console-user-tools
====================================

Artisan commands for generating passwords, changing user passwords, listing users, and amending user email addresses in Laravel applications.

1.0.2(1mo ago)055↓100%MITPHPPHP ^8.3CI passing

Since Apr 21Pushed 1mo agoCompare

[ Source](https://github.com/newtovaux/laravel-console-user-tools)[ Packagist](https://packagist.org/packages/newtovaux/laravel-console-user-tools)[ Docs](https://github.com/newtovaux/laravel-console-user-tools)[ RSS](/packages/newtovaux-laravel-console-user-tools/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (4)Dependencies (6)Versions (5)Used By (0)

Laravel Console User Tools
==========================

[](#laravel-console-user-tools)

Artisan commands for generating passwords, changing user passwords, listing users, and amending user email addresses in Laravel 12 and 13 applications.

Why?
----

[](#why)

If you've ever had to jump onto a host, or into a container, because you don't have UI access (or if there's an issue) and you just need to quickly reset a password or alter a user somehow. If you don't want to memorise a bunch of SQL commands. If you just need to do user management quickly and easily.

... then perhaps this little package can help.

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

[](#installation)

Available on Packagist:

Source code:

This package supports Laravel 12 and 13 on PHP 8.3+.

```
composer require newtovaux/laravel-console-user-tools
```

### Optional

[](#optional)

```
php artisan vendor:publish --tag=user-tools-config
```

Commands
--------

[](#commands)

### Generate a password

[](#generate-a-password)

```
php artisan user-tools:create
php artisan user-tools:create --length=24
php artisan user-tools:create --no-symbols
php artisan user-tools:create --length=32 --no-symbols
```

### Change a user's password

[](#change-a-users-password)

```
php artisan user-tools:user-password dan@example.com
php artisan user-tools:user-password dan@example.com --password='new-password-123'
php artisan user-tools:user-password dan@example.com --generate
php artisan user-tools:user-password dan@example.com --generate --length=24
php artisan user-tools:user-password 15 --column=id
php artisan user-tools:user-password 15 --column=id --password='new-password-123'
```

### List all users

[](#list-all-users)

```
php artisan user-tools:list-users
php artisan user-tools:list-users --limit=50
```

### Change a user's email address

[](#change-a-users-email-address)

```
php artisan user-tools:user-amend-email dan@example.com
php artisan user-tools:user-amend-email 15 --column=id
php artisan user-tools:user-amend-email dan@example.com --email=new@example.com
php artisan user-tools:user-amend-email 15 --column=id --email=new@example.com
```

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

[](#configuration)

If you want to override the defaults, publish the config file:

```
php artisan vendor:publish --tag=user-tools-config
```

Available options:

```
return [
    'user_model' => env('USER_TOOLS_USER_MODEL', config('auth.providers.users.model', App\Models\User::class)),
    'lookup_column' => env('USER_TOOLS_LOOKUP_COLUMN', 'email'),
    'generated_length' => (int) env('USER_TOOLS_GENERATED_LENGTH', 20),
];
```

These settings let you:

- use a custom Eloquent user model
- change the default lookup column from `email` to something else
- set a default generated password length for `user-tools:create`

Practical notes
---------------

[](#practical-notes)

First, this package assumes your user table has a `password` column and your configured user model is Eloquent-backed, which is the normal Laravel setup.

Second, the package uses the application's configured auth user model by default so it stays reusable across projects instead of hard-coding `App\Models\User`. That aligns well with Laravel's package and auth conventions.

Third, the write commands are intentionally interactive. `user-tools:user-password` and `user-tools:user-amend-email` both ask for confirmation before saving changes.

Fourth, `user-tools:user-amend-email` will try the configured lookup column first and then fall back to `id` lookup when appropriate.

Fifth, `user-tools:list-users` outputs `id` and `email`, ordered by `id`, and supports `--limit` for large tables.

Security notes
--------------

[](#security-notes)

Passing secrets directly on the command line can leak them into shell history. On shared machines or production hosts, prompting for a password is usually safer than using `--password='...'`.

The `--copy` option on `user-tools:create` is currently a placeholder and does not copy to the clipboard yet.

Tests
-----

[](#tests)

Install development dependencies, then run the test suite with Composer:

```
composer install
composer test
```

The package tests run with PHPUnit 11 and Orchestra Testbench against an in-memory SQLite database, so no separate test database setup is required.

GitHub Actions runs the suite against a compatibility matrix covering Laravel 12 and 13 on PHP 8.3, 8.4, and 8.5.

License
-------

[](#license)

This software is released under the MIT license.

###  Health Score

43

—

FairBetter than 89% of packages

Maintenance92

Actively maintained with recent releases

Popularity12

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity52

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

4

Last Release

46d ago

Major Versions

0.0.1 → 1.0.02026-04-22

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/640187?v=4)[New To Vaux](/maintainers/newtovaux)[@newtovaux](https://github.com/newtovaux)

---

Top Contributors

[![newtovaux](https://avatars.githubusercontent.com/u/640187?v=4)](https://github.com/newtovaux "newtovaux (9 commits)")

---

Tags

artisan-commandlaravelconsolelaravelpasswordartisanusertools

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/newtovaux-laravel-console-user-tools/health.svg)

```
[![Health](https://phpackages.com/badges/newtovaux-laravel-console-user-tools/health.svg)](https://phpackages.com/packages/newtovaux-laravel-console-user-tools)
```

###  Alternatives

[larastan/larastan

Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel

6.4k51.0M7.4k](/packages/larastan-larastan)[laravel/ai

The official AI SDK for Laravel.

9782.1M153](/packages/laravel-ai)[psalm/plugin-laravel

Psalm plugin for Laravel

3325.1M337](/packages/psalm-plugin-laravel)[spatie/laravel-health

Monitor the health of a Laravel application

88011.3M149](/packages/spatie-laravel-health)[illuminate/queue

The Illuminate Queue package.

20432.2M1.5k](/packages/illuminate-queue)[tallstackui/tallstackui

TallStackUI is a powerful suite of Blade components that elevate your workflow of Livewire applications.

719160.4k12](/packages/tallstackui-tallstackui)

PHPackages © 2026

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