> This page is for version v0.24.1.
> For other versions, use one of these documentation indexes:
> - Latest (default): https://docs.nvidia.com/nemo/guardrails/latest/llms.txt
> - v0.24.1: https://docs.nvidia.com/nemo/guardrails/v0.24.1/llms.txt
> - v0.24.0: https://docs.nvidia.com/nemo/guardrails/v0.24.0/llms.txt
> - v0.23.0: https://docs.nvidia.com/nemo/guardrails/v0.23.0/llms.txt
> - v0.22.0: https://docs.nvidia.com/nemo/guardrails/v0.22.0/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/guardrails/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/guardrails/_mcp/server.

# nemoguardrails.library.self_check.input_check.actions

## Module Contents

### Functions

| Name                                                                                                | Description                     |
| --------------------------------------------------------------------------------------------------- | ------------------------------- |
| [`_self_check_outcome`](#nemoguardrails-library-self_check-input_check-actions-_self_check_outcome) | -                               |
| [`self_check_input`](#nemoguardrails-library-self_check-input_check-actions-self_check_input)       | Checks the input from the user. |

### Data

[`DEFAULT_TASK`](#nemoguardrails-library-self_check-input_check-actions-DEFAULT_TASK)

[`log`](#nemoguardrails-library-self_check-input_check-actions-log)

### API

```python
nemoguardrails.library.self_check.input_check.actions._self_check_outcome(
    allowed: bool
) -> nemoguardrails.actions.rail_outcome.RailOutcome
```

```python
nemoguardrails.library.self_check.input_check.actions.self_check_input(
    llms: typing.Dict[str, nemoguardrails.types.LLMModel],
    llm_task_manager: nemoguardrails.llm.taskmanager.LLMTaskManager,
    context: typing.Optional[dict] = None,
    events: typing.Optional[typing.List[dict]] = None,
    llm: typing.Optional[nemoguardrails.types.LLMModel] = None,
    config: typing.Optional[nemoguardrails.RailsConfig] = None,
    variant: typing.Optional[str] = None,
    user_message: typing.Optional[str] = None,
    kwargs = {}
) -> nemoguardrails.actions.rail_outcome.RailOutcome
```

async

Checks the input from the user.

Prompt the LLM, using the `check_input` task prompt, to determine if the input
from the user should be allowed or not.

**Returns:** `RailOutcome`

RailOutcome.allow() if the input should be allowed, RailOutcome.block() otherwise.

```python
nemoguardrails.library.self_check.input_check.actions.DEFAULT_TASK = SELF_CHECK_INPUT_DEFAULT_TASK
```

```python
nemoguardrails.library.self_check.input_check.actions.log = logging.getLogger(__name__)
```