I was able to figure out my solution with an idea suggested by JonRowe on the Warden issues on Github(https://github.com/hassox/warden/issues/73)
With his suggestion of altering my lambda, I was able to change my warden manager configuration to be:
Rails.configuration.middleware.use Warden::Manager do |manager|
manager.default_strategies :password
manager.failure_app = lambda { |env|
failure_action = env["warden.options"][:action].to_sym
SessionsController.action(failure_action).call(env)
}
end
This picked up the failure action I was passing into it. It seems it is stored in the "warden.options" hash under action.