Unfortunately the ``list`` method when used without further arguments returns more than one result. For example:

```bash
[root@qetello01 ~]# hammer user create --login user1 --mail user@example.com --password foobar --auth-source-id 1
User created
[root@qetello01 ~]# hammer user create --login user11 --mail user@example.com --password foobar --auth-source-id 1
User created
[root@qetello01 ~]# hammer user create --login user2 --mail user@example.com --password foobar --auth-source-id 1
User created
[root@qetello01 ~]# hammer user list --search 'user'
--------------------------------------------------
ID | LOGIN  | NAME       | EMAIL
--------------------------------------------------
1  | admin  | Admin User | root@usersys.redhat.com
3  | user1  |            | user@example.com
4  | user11 |            | user@example.com
5  | user2  |            | user@example.com
--------------------------------------------------
```

You can use the existing ``exists`` method and pass ``('login', args['login'])``:

```bash
# hammer user list --search 'login=user1'
------------------------------------
ID | LOGIN | NAME | EMAIL
------------------------------------
3  | user1 |      | user@example.com
------------------------------------
```
 or change your code to:

```python
result = UserObj().list({'search': 'login=\"%s\"' % args['login']})
```