kestra-io/kestra · error · IllegalArgumentException

Invalid URI format.

Error message

Invalid URI format.

What it means

Error "Invalid URI format." thrown in kestra-io/kestra.

Source

Thrown at core/src/main/java/io/kestra/core/runners/FlowInputOutput.java:575

                case DATE -> TypeConverter.toLocalDate(current);
                case TIME -> TypeConverter.toLocalTime(current);
                case DURATION -> TypeConverter.toDuration(current);
                case FILE -> {
                    URI uri = URI.create(current.toString().replace(File.separator, "/"));

                    if (URIFetcher.supports(uri)) {
                        yield uri;
                    } else {
                        yield storageInterface.from(execution, id, current.toString().substring(current.toString().lastIndexOf("/") + 1), new File(current.toString()));
                    }
                }
                case JSON -> (current instanceof Map || current instanceof Collection<?>) ? current : JacksonMapper.toObject(current.toString());
                case ION -> (current instanceof Map || current instanceof Collection<?>) ? current : ION_MAPPER.readValue(current.toString(), JacksonMapper.OBJECT_TYPE_REFERENCE);
                case YAML -> (current instanceof Map || current instanceof Collection<?>) ? current : YAML_MAPPER.readValue(current.toString(), JacksonMapper.OBJECT_TYPE_REFERENCE);
                case URI -> {
                    URI uri = java.net.URI.create(current.toString());
                    if (uri.getScheme() == null) {
                        throw new IllegalArgumentException("Invalid URI format.");
                    }
                    yield current.toString();
                }
                case ARRAY, MULTISELECT -> {
                    List<?> asList;
                    if (current instanceof List<?> list) {
                        asList = list;
                    } else {
                        asList = JacksonMapper.toList(((String) current));
                    }

                    if (elementType != null) {
                        // recursively parse the elements only once
                        yield asList.stream()
                            .map(throwFunction(element ->
                            {
                                try {
                                    return parseType(execution, elementType, id, null, element, data);

View on GitHub (pinned to 823fada927)

Solutions

  1. Provide a well-formed URI (including a scheme such as http://, https://, or kestra://) for the input value.
  2. Check the input for typos, missing scheme, or illegal characters and correct it.

When it happens

Trigger: Thrown at core/src/main/java/io/kestra/core/runners/FlowInputOutput.java:575 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of kestra-io/kestra@823fada927 (2026-08-14). Data as JSON: /api/errors/9b15974d372cf5b2. Report an issue: GitHub.